Deduplizierung von Strings für Nachrichtenprozessoren aktivieren

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

In diesem Dokument wird erläutert, wie Sie die Stringdeduplizierung auf den Message Processorn von Apigee Edge aktivieren.

Die Stringdeduplizierung ist eine Java-Funktion, mit der Sie in Java-Anwendungen Arbeitsspeicher sparen können, die von doppelten Stringobjekten belegt sind. Es reduziert den Speicherbedarf von String-Objekten im Java-Heap-Speicher, da die doppelten oder identischen String-Werte dasselbe Zeichenarray verwenden.

Der Apigee Edge Message Processor ist eine Java-basierte Komponente. Die Verwendung der Stringdeduplizierung in einem Nachrichtenprozessor kann die Leistung Ihrer API-Proxys verbessern, da die Arbeitsspeichernutzung reduziert wird. Dies gilt insbesondere, wenn die API-Proxys die Strings stark nutzen.

Das Feature zur Stringdeduplizierung kann nur mit G1 Garbage Collector (G1GC) in Java-Anwendungen verwendet werden. Wenn Sie diese Funktion für den Message Processor aktivieren möchten, muss G1GC bereits aktiviert sein oder Sie müssen sowohl G1GC als auch die Stringdeduplizierung zusammen auf dem Message Processor aktivieren.

Hinweis

Aktivieren der Deduplizierung von Strings auf Message Processorn

In diesem Abschnitt wird erläutert, wie Sie die Funktion „Stringdeduplizierung“ auf den Edge-Nachrichtenprozessoren aktivieren. Die Deduplizierung von Strings kann über die Eigenschaft useStringDeduplication in der Message Processor-Komponente aktiviert werden. Diese Eigenschaft ist bei den Message Processors standardmäßig auf „false“ gesetzt. Verwenden Sie das Token gemäß der in Edge konfigurieren beschriebenen Syntax, um eine Eigenschaft im Message Processor zu konfigurieren.

Führen Sie die folgenden Schritte aus, um die String-Deduplizierung bei Message Processorn zu aktivieren:

  1. Token für die Property „useStringDeDuplizierung“ suchen
  2. useStringDeDuplizierung für Message Processor aktivieren

Token für die Eigenschaft useStringDeduplizierung suchen

In den folgenden Schritten wird beschrieben, wie Sie das Token für useStringDeduplizierung finden:

  1. Suchen Sie im Nachrichtenprozessor-Quellverzeichnis /opt/apigee/edge-message-processor/source mit dem folgenden Befehl nach der Eigenschaft useStringDeduplication:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/source
    
  2. Die Ausgabe dieses Befehls zeigt das Token für die Eigenschaft useStringDeduplication von Message Processor so:
    /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}
    

    Dabei ist der String zwischen den {T}{/T}-Tags der Name des Tokens, das Sie in der Datei .properties des Message Processor festlegen können. Daher lautet das Token für das Attribut useStringDeduplication so:

    conf_system_useStringDeduplication
    

Stringdeduplizierung auf Message Processorn aktivieren

In den folgenden Schritten wird beschrieben, wie Sie die Stringdeduplizierung auf Apigee-Nachrichtenprozessoren aktivieren:

  1. Öffnen Sie die Datei /opt/apigee/customer/application/message-processor.properties auf dem Message Processor-Computer in einem Editor. Wenn die Datei noch nicht vorhanden ist, erstellen Sie sie. Beispiel:
    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Fügen Sie dieser Datei die folgende Zeile hinzu:
    conf_system_useStringDeduplication=true
    
  3. Speichern Sie die Änderungen.
  4. Achten Sie darauf, dass der Inhaber dieser Property-Datei der Nutzer apigee ist. Beispiel:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Starten Sie den Message Processor mit dem folgenden Befehl neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Wenn Sie mehr als einen Message Processor haben, wiederholen Sie diese Schritte auf allen Message Processorn.

Überprüfen der Stringdeduplizierung auf den Message Processorn

In diesem Abschnitt wird erläutert, wie Sie überprüfen können, ob die Stringdeduplizierung erfolgreich auf den Message Processorn aktiviert wurde.

Obwohl Sie das Token conf_system_useStringDeduplication verwenden, um die Stringdeduplizierung im Message Processor zu aktivieren, müssen Sie prüfen, ob das tatsächliche Attribut useStringDeduplication mit dem neuen Wert so festgelegt wurde:

  1. Suchen Sie im Verzeichnis /opt/apigee/edge-message-processor/conf nach der Eigenschaft useStringDeduplication und prüfen Sie, ob sie mit dem neuen Wert festgelegt wurde. Beispiel:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/conf
    
  2. Wenn die String-Deduplizierung erfolgreich auf dem Message Processor aktiviert wurde, zeigt der vorherige Befehl den neuen Wert in der Datei system.properties an.

    Das Beispielergebnis des vorherigen Befehls, nachdem Sie die Stringdeduplizierung auf Message Processor aktiviert haben, sieht so aus:

    /opt/apigee/edge-message-processor/conf/system.properties:useStringDeduplication=true
    

    In der Beispielausgabe wurde das Attribut useStringDeduplication mit dem neuen Wert true in system.properties festgelegt. Dies zeigt an, dass die String-Deduplizierung erfolgreich auf dem Message Processor aktiviert wurde.

  3. Wenn noch der alte Wert für das Attribut useStringDeduplication angezeigt wird, prüfen Sie, ob Sie alle Schritte korrekt ausgeführt haben, die unter Stringdeduplizierung für Message Processors aktivieren beschrieben sind. Wenn Sie einen Schritt ausgelassen haben, wiederholen Sie alle Schritte korrekt.
  4. Wenn Sie die Stringdeduplizierung immer noch nicht aktivieren können, wenden Sie sich an den Apigee-Support.

Wie geht es weiter?

G1GC auf den Message Processorn aktivieren