Optimieren und die Leistung von Jitterbit-Privatagenten verbessern
Einführung
Da Projekte größer und komplexer werden, können Privatagenten länger für die Ausführung von Operationen und die Synchronisierung von Betriebsdaten benötigen. Um die Leistung von Privatagenten zu verbessern, folgen Sie den Anleitungen auf dieser Seite. (Bei erheblichen Leistungsproblemen kontaktieren Sie bitte den Jitterbit-Support.)
Leistungsoptimierung von Privatagenten
Dieser Abschnitt bietet eine empfohlene Konfiguration, um die Leistung von Privatagenten zu verbessern, die überdurchschnittliche Arbeitslasten erfahren.
Hinweis
Das Set basiert auf den Ergebnissen interner Tests von Jitterbit und gilt für Privatagenten-Versionen 11.22 oder höher, die mit einem PostgreSQL 14-Datenbankserver auf einer Instanz mit mindestens 16 GB RAM ausgeführt werden.
Um dieses Konfigurationsset zu verwenden, konfigurieren Sie Ihre Privatagentenkomponenten gemäß der folgenden Tabelle:
Komponente | Konfigurationsdatei | Speicherort (Windows) | Speicherort (Docker/Linux) |
---|---|---|---|
Tomcat-Server | jitterbit-agent-config.properties | JITTERBIT_HOME\Resources\ | JITTERBIT_HOME/Resources/ |
Privatagent | 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 Anfangs- und Höchstspeicherzuweisung (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 Worker-Threads:
[ProcessEngine] MaxNumberOfWorkerThreads = X
wobei \(X = 4 \times\) (Anzahl der vCPUs oder Kerne).
Hinweis
Ein Wert von
auto
entspricht standardmäßig \(2 \times\) der Anzahl der vCPUs/Kerne. -
Ändern Sie die Werte für Folgendes:
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 erzeugt werden können (Standardwert50
).
[OperationEngine] MaxOperationStackDepth = 200 MaxAsyncOperationChainLength = 200
-
Aktivieren Sie das Logging:
[APIOperation] EnableLogging = true
-
Ä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
Cleanup rules
Überprüfen und bearbeiten Sie die Regeln für den Dateireinigungsdienst.
Environment sync performance tuning
Wenn Sie ein Integration Studio- oder Design Studio-Projekt bereitstellen, wird die Umgebung des Projekts gesperrt, während 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 Umgebungs-Synchronisationszeiten zu überwachen, durchsuchen Sie die
JITTERBIT_HOME/log/jitterbit-agent.log
nach 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
Agentgruppen-ID 171230
Synchronisationsdauer in Millisekunden 4388
Anzahl der aktualisierten TranDb
-Zeilen1