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 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
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 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:

  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 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 Text environment-deploy:

    Beispiel für einen Protokolleintrag
    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 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-Zeilen 1