Zum Inhalt springen

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 der Privatagenten zu verbessern, folgen Sie den Anleitungen auf dieser Seite. (Bei erheblichen Leistungsproblemen kontaktieren Sie bitte Jitterbit-Support.)

Leistungstuning für Privatagenten

Dieser Abschnitt bietet eine empfohlene Konfiguration, um die Leistung von Privatagenten zu verbessern, die eine überdurchschnittliche Arbeitslast aufweisen.

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-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
agent.heart.beat.interval = 3
max.concurrent.requests = 200
  • 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 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:

  1. Aktivieren Sie internes Pooling:

    [DbInfo]
    UseInternalPooling = true
    
  2. 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.

  3. Ändern Sie die Werte für Folgendes:

    • MaxOperationStackDepth: Maximale Anzahl synchroner Operationen, die zur Ausführung in die Warteschlange gestellt werden können (Standardwert 50).
    • MaxAsyncOperationChainLength: Maximale Anzahl von untergeordneten asynchronen Operationen, die erzeugt werden können (Standardwert 50).
    [OperationEngine]
    MaxOperationStackDepth = 200
    MaxAsyncOperationChainLength = 200
    
  4. Aktivieren Sie das Logging:

    [APIOperation]
    EnableLogging = true
    
  5. Ändern Sie das Intervall für die Dateireinigung:

    [FileCleanup]
    FrequencyInHours = 6.0
    
  6. 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 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 mit geringer Auslastung.

  • Überwachen Sie die Synchronisierungszeiten:

    Um die Synchronisierungszeiten der Umgebung zu überwachen, durchsuchen Sie die JITTERBIT_HOME/log/jitterbit-agent.log nach dem Text environment-deploy:

    Beispielprotokolleintrag
    2024-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 Aktualisierte Zeilen: 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-Zeilen 1