Grundlegendes zur Repository-Partitionierung
- Zuletzt aktualisiert2024/11/18
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 aus und verwenden Sie dabei den folgenden
Befehl:
RepositoryFolderSizeReport.exe --root "Z:\Server Files\repository\16933f12-fdee-4a7f-8e76-a9bf127918c6\0\Automation Anywhere\Bots"
- Sie müssen das obige Skript durch die richtige Mandanten-ID
aus Ihrer Umgebung ersetzen.
Beispiel: 16933f12-fdee-4a7f-8e76-a9bf127918c6.
- Verwenden Sie Z:\Server Files\repository, um das NAS-Laufwerk zu prüfen.
- Erstellen Sie den Bericht folder_sizes.csv, der
Ordnerpfade und deren jeweilige Größen in MB enthält.Dadurch können Sie Die Partitionierung Ihrer Ordner planen.Anmerkung: Git empfiehlt, die Repository-Größe auf weniger als 2 GB für optimale Leistung zu beschränken.
- Dieses Dienstprogramm gibt die Größe jedes Ordners an, was Ihnen hilft, die Partitionierung der Ordner zu planen.
- Führen Sie das Tool RepositoryFolderSizeReport.exe
aus dem Skriptverzeichnis auf einem der Control Room-Knoten aus und verwenden Sie dabei den folgenden
Befehl:
- Timeout-Einstellungen
- Die Repository-Partitionierung startet ein externes Programm, um den
Ordner zu teilen. Wenn dieses externe Programm innerhalb von 12 Stunden keine Ausgabe liefert
(standardmäßig), wird es beendet, und der Nutzer kann die
Partitionierung neu starten. Wenn die 12-Stunden-Zeitüberschreitung zu lang ist, können Sie sie auf 2 Stunden reduzieren.
Ändern Sie dafür die Eigenschaften-Datei unter
<CR_Folder>\\config\\repository.properties.
Sorgen Sie für eine Aktualisierung der Eigenschaft repository.partition.read.line.timeout, indem Sie den Wert in Sekunden festlegen. Setzen Sie beispielsweise für ein Timeout von 2 Stunden 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.
Die Partitionierungsaufforderung wird standardmäßig auf einem der Knoten verarbeitet. Daher sind die Fortschrittsergebnisse nur auf diesem bestimmten Knoten sichtbar.
- Öffnen Sie Windows PowerShell und navigieren Sie zum Skriptverzeichnis
(C:\scripts). Starten Sie den folgenden
Befehl:
.\PartitionMonitor.ps1 -sourceDirectory "C:\ProgramData\AutomationAnywhere\Logs" -outputFile out.log