Optimieren und die Leistung von Jitterbit-Privatagenten verbessern
Einführung
Da Projekte größer und komplexer werden, können private Agenten länger für die Ausführung von Operationen und die Synchronisierung von Betriebsdaten benötigen. Um die Leistung privater Agenten zu verbessern, folgen Sie den Anleitungen auf dieser Seite. (Bei erheblichen Leistungsproblemen kontaktieren Sie bitte den Jitterbit-Support.)
Leistungsoptimierung privater Agenten
Dieser Abschnitt bietet eine empfohlene Konfiguration, um die Leistung privater Agenten zu verbessern, die überdurchschnittliche Arbeitslasten erfahren.
Hinweis
Das Set basiert auf den Ergebnissen interner Tests von Jitterbit und gilt für private Agenten-Versionen 11.22 oder höher, die mit einem PostgreSQL-Datenbankserver auf einer Instanz mit mindestens 16 GB RAM ausgeführt werden.
Um dieses Konfigurationsset zu verwenden, konfigurieren Sie Ihre Komponenten des privaten Agenten gemäß der folgenden Tabelle:
| Komponente | Konfigurationsdatei | Speicherort (Windows) | Speicherort (Docker/Linux) |
|---|---|---|---|
| Tomcat-Server | jitterbit-agent-config.properties |
JITTERBIT_HOME\Resources\ |
JITTERBIT_HOME/Resources/ |
| Privater Agent | jitterbit.conf |
JITTERBIT_HOME |
JITTERBIT_HOME |
| Dateireinigungsdienst | CleanupRules.xml |
JITTERBIT_HOME |
JITTERBIT_HOME |
| Java Virtual Machine | Java-Systemsteuerung | /etc/sysconfig/jitterbit |
JITTERBIT_HOME ist das Installationsverzeichnis, standardmäßig C:\Program Files\Jitterbit Agent\ unter Microsoft Windows, /opt/jitterbit/ unter Docker und Linux.
Wichtig
Wenden Sie alle Teile dieses Konfigurationssatzes an, nicht nur einige davon. Starten Sie den privaten Agenten neu, nachdem Sie das vollständige Set an Änderungen vorgenommen haben.
Tomcat-Serverkonfiguration
Bearbeiten Sie jitterbit-agent-config.properties und setzen Sie die folgenden Werte:
1 2 | |
-
Zeile 1: Empfohlen für Microsoft Azure-Hosts, um eine vorzeitige Beendigung der WebSocket-Verbindung zu vermeiden.
-
Zeile 2: Erhöhen Sie die maximale Anzahl von Anfragen.
Speicherzuweisung für die Java-virtuelle Maschine
Erhöhen Sie die Werte für die private Agenten Java-VM-Initial- und Maximalspeicherzuweisung (Java-Parameter -Xms und -Xmx) auf denselben Wert gemäß der folgenden Formel:
\((Total\ Available\ Host\ Memory - 4) \times 0.75\)
Konfiguration des privaten Agenten
Bearbeiten Sie jitterbit.conf und setzen Sie die folgenden Werte in jedem Abschnitt:
-
Aktivieren Sie internes Pooling:
[DbInfo] UseInternalPooling = true -
Erhöhen Sie die Anzahl der Worker-Threads:
[ProcessEngine] MaxNumberOfWorkerThreads = Xwobei \(X = 4 \times\) (Anzahl der vCPUs oder Kerne).
Hinweis
Ein Wert von
autoentspricht standardmäßig \(2 \times\) der Anzahl der vCPUs/Kerne. -
Ändern Sie die Werte für die folgenden:
-
MaxOperationStackDepth: Maximale Anzahl synchroner Operationen, die zur Ausführung in die Warteschlange gestellt werden können (Standardwert50). -
MaxAsyncOperationChainLength: Maximale Anzahl von untergeordneten asynchronen Operationen, die erstellt werden können (Standardwert50).
[OperationEngine] MaxOperationStackDepth = 200 MaxAsyncOperationChainLength = 200 -
-
Ändern Sie das Intervall für die Dateireinigung:
[FileCleanup] FrequencyInHours = 6.0 -
Erhöhen Sie die maximale Anzahl von HTTP-Verbindungen im Pool und die maximale Anzahl von Verbindungen pro Route:
[HttpConnectionPoolLocal] MaxConnections = 200 MaxConnectionsPerRoute = 200 -
Bearbeiten Sie die Datei
jitterbit-agent-config.propertiesund setzen Sie:max.concurrent.requests=100Wichtig
Setzen Sie
max.concurrent.requestsnicht über 100. Dies setzt den Wert auf den Standardwert von 16 zurück. -
Bearbeiten Sie die Datei
httpd.confund setzen Sie:ThreadsPerChild 101
Cleanup rules
Überprüfen und bearbeiten Sie die Regeln für den Dateireinigungsdienst.
Environment sync performance tuning
Wenn Sie ein Studio- oder Design-Studio-Projekt bereitstellen, wird die Umgebung des Projekts gesperrt, während die Daten zwischen den Harmony-Cloud-Servern und allen privaten Agenten in der Agentengruppe synchronisiert werden. Während eine Umgebung gesperrt ist, werden keine Operationen verarbeitet. Um zu vermeiden, dass dieses Verhalten die Ausführung Ihrer Projekte beeinträchtigt, wenden Sie die folgenden Tipps an:
-
Reduzieren Sie die Größe der Projekte:
Große Projekte benötigen länger für die Bereitstellung und Synchronisierung. Um die Größe der Projekte zu reduzieren, tun Sie Folgendes:
-
Minimieren Sie die Anzahl der Operationen.
-
Verwenden Sie in Transformationen nur die benötigten Felder.
-
Löschen Sie ungenutzte Komponenten.
-
-
Reduzieren Sie die Anzahl der Projekte pro Umgebung:
Während der Umgebungsynchronisierung ist die gesamte Umgebung gesperrt. Um die Auswirkungen hiervon zu reduzieren, tun Sie Folgendes:
-
Verwenden Sie mehr Umgebungen und verteilen Sie Ihr Projektportfolio gleichmäßig auf diese.
-
Halten Sie hochverfügbare (HA) Projekte und nicht-HA Projekte in separaten Umgebungen.
-
-
Bereitstellung während Zeiten mit geringer Auslastung:
Um die Auswirkungen der Synchronisierungszeiten auf Produktionssysteme zu reduzieren, planen Sie Ihre Projektbereitstellungen für Zeiten außerhalb der Hauptnutzungszeiten.
-
Überwachen Sie die Synchronisierungszeiten:
Um die Synchronisierungszeiten der Umgebung zu überwachen, scannen Sie die Datei
JITTERBIT_HOME/log/jitterbit-agent.lognach dem Textenvironment-deploy:Beispiel für einen Protokolleintrag2024-07-30 15:54:24 environment-deploy-sync-thread-thread-1 INFO org.jitterbit.integration.server.messaging.agent.deploysync.SynchronizeAgent:620 - Agentensynchronisierung für Umgebung 227680 und Agentengruppe ID 171230 abgeschlossen um 18:54:24,667 Dauer in MS: 4388 Zeilen aktualisiert: 1 von Thread: 33 Name environment-deploy-sync-thread-thread-1
In dem obigen Beispiel sind die Protokollinformationen wie folgt:
| Beschreibung | Beispiel |
|---|---|
| Umgebungs-ID | 227680 |
| Agentengruppen-ID | 171230 |
| Synchronisierungsdauer in Millisekunden | 4388 |
Anzahl der aktualisierten TranDb-Zeilen |
1 |