Grundlegendes zur Repository-Partitionierung
- Zuletzt aktualisiert2024/10/29
Grundlegendes zur Repository-Partitionierung
Ein Repository ist eine der Kernkomponenten, mit denen Sie Ihren Automatisierungsarbeitsbereich (Automatisierungen und Dateien) verwalten. Die Partitionierung hilft Ihnen bei der Skalierung der Repositorys und Optimierung der Leistung von Repository-bezogenen Vorgängen wie dem Ein- und Auschecken.
Übersicht
Das Automation 360-Repository ist ein einzelnes Git-Repository, in dem alle Bots, Formulare, Prozesse und Abhängigkeitsdateien gespeichert sind. Da das Repository auf Git basiert, bietet es einige gebrauchsfertige Versionskontrollfunktionen wie Einchecken, Auschecken, Versionsverlauf, Rollback und Versionsvergleich. Daher ist die Integration mit einem externen, entfernten Git keine Voraussetzung in Automation 360.
Alle Dateien im Git-Repository in Automation 360 werden zur Versionierung gespeichert. Im Laufe der Zeit kann das Git-Repository aufgrund der Anzahl der Dateien, der Größe der Dateien, der Git-Commits usw. sehr groß werden. Dies kann zu Verzögerungen bei der Ausführung von Repository-Aktionen führen.
Mit der Repository-Partitionierung können Sie den Repository-Ordner von Automation 360 in separate Git-Repositorys aufteilen. Sie können das große öffentliche Repository im Stammordner in mehrere Git-Repositorys auf den ausgewählten Ordnerebenen partitionieren und so Leistungseinbußen bei den Repository-Partitionen begrenzen.
Vorteile
Zu den Vorteilen der Partitionierung Ihrer Repositorys gehören:
- Schnellere Abläufe durch schnelles Ein- und Auschecken
- Da die Ordner partitioniert sind, hat jeder partitionierte Ordner eine vergleichsweise geringe Anzahl von Eincheck-Aktivitäten (Commits). Aufgrund dieser geringeren Anzahl von Commits geschehen Ein- und Auscheckoperationen (einschließlich des gleichzeitigen Ein- und Auscheckens) schneller.
- Logische Trennung von Ordnern im Git-Bereich
- Das Anlegen mehrerer Repositorys in Git mindert das Risiko eines Single Point of Failure. Probleme in einem Repository wirken sich nicht nachteilig auf andere Repositorys oder darin enthaltene Automatisierungen aus.
Empfehlungen
In einem typischen Produktionsszenario werden Ordner, die verschiedenen Abteilungen entsprechen, innerhalb des Bots-Ordners erstellt. Basierend auf den spezifischen Geschäftsprozessen oder Projekten (mehrere Geschäftsprozesse) werden innerhalb der Abteilungsordner Unterordner erstellt. Es ist auch üblich, dass Kunden über gemeinsam genutzte Bibliotheken verfügen, die auf verschiedenen Ebenen erstellt werden können und dann für andere Prozesse weiter freigegeben werden.
Betrachten Sie ein Szenario, in dem alle Dateien gleichzeitig von verschiedenen Automatisierungs- oder Citizen-Entwicklern in dieselbe Partition (Git-Repository) eingecheckt werden. Dies kann die Geschwindigkeit der Datenverarbeitung beeinträchtigen und zu erheblichen Verzögerungen führen. Um sicherzustellen, dass die Leistung langfristig nicht beeinträchtigt wird, überprüfen Sie den unten empfohlenen Ansatz:
- Operativer Ansatz
- Es wird empfohlen, pro Team eine Partition zu erstellen. Ein Team besteht aus einer Gruppe von Personen, die an ähnlichen Geschäftsprozessen arbeiten. Begrenzen Sie die Anzahl der Entwickler in jedem Set auf 50 oder weniger, um eine optimale Leistung für jedes Team zu erzielen. Wenn es mehr Entwickler gibt, können Sie sie zur Skalierbarkeit auf mehrere Partitionen aufteilen.
- Bestimmen Sie die Ordner, die partitioniert werden sollen.
- Überprüfen Sie die folgenden Empfehlungen zur Partitionierung der Ordner:
- Führen Sie das Tool RepositoryFolderSizeReport.exe aus dem Skriptverzeichnis auf einem der Control Room Knoten mit dem folgenden Befehl aus:
RepositoryFolderSizeReport.exe --root "Z:\Server Files\repository\16933f12-fdee-4a7f-8e76-a9bf127918c6\0\Automation Anywhere\Bots"
- Stellen Sie sicher, dass Sie das obige Skript durch die richtige Mandanten-ID aus Ihrer Umgebung ersetzen.
Beispiel: 16933f12-fdee-4a7f-8e76-a9bf127918c6.
- Verwenden Sie Z:\Server Dateien\repository, um das NAS-Laufwerk zu überprüfen.
- Erstellen Sie einen folder_sizes.csv-Bericht mit Ordnerpfaden und ihren jeweiligen Größen in MB.Auf diese Weise können Sie die Aufteilung Ihrer Ordner planen.Anmerkung: Git empfiehlt, die Repository-Größe für eine optimale Leistung auf weniger als 2 GB zu beschränken.
- Dieses Dienstprogramm gibt die Größe jedes Ordners an, was Ihnen bei der Planung der Ordnerpartitionierung hilft.
- Führen Sie das Tool RepositoryFolderSizeReport.exe aus dem Skriptverzeichnis auf einem der Control Room Knoten mit dem folgenden Befehl aus:
- Timeout-Einstellungen
- Die Repository-Partitionierung startet ein externes Programm, um den Ordner zu partitionieren. Wenn dieses externe Programm innerhalb von 12 Stunden (Standard) keine Ausgabe liefert, wird es beendet und der Benutzer kann den Partitionierungsprozess neu starten. Wenn das Timeout von 12 Stunden zu lang ist, können Sie es auf 2 Stunden ändern, indem Sie die Eigenschaftendatei unter <CR_Folder>\\config\\repository.properties ändern.
Stellen Sie sicher, dass Sie die Eigenschaft repository.partition.read.line.timeout aktualisieren, indem Sie den Wert in Sekunden festlegen. Zum Beispiel, für ein Timeout von 2 Stunden, setzen Sie den Wert auf 7200.
Starten Sie den Kernel nach allen Änderungen neu.
- Überwachung der Repository-Partitionierung
-
- Überwachen Sie den Fortschritt der Partitionierung in den Protokolldateien mit dem PartitionMonitor Skript.
- Führen Sie das Skript PartitionMonitor.ps1 auf jedem CR-Knoten aus.
Der Partitionierungsantrag wird planmäßig auf einem der Knoten bearbeitet. Daher sind die Fortschrittsergebnisse nur auf diesem bestimmten Knoten sichtbar.
- Öffnen Sie Windows PowerShell und navigieren Sie zum Skriptverzeichnis (C:\scripts). Führen Sie den folgenden Befehl aus:
.\PartitionMonitor.ps1 -sourceDirectory "C:\ProgramData\AutomationAnywhere\Logs" -outputFile out.log