QPID-Leitfaden

Edge for Private Cloud Version 4.52.02 wird mit Qpid Broker-J 8.0.6 ausgeliefert. Auf dieser Seite werden Überlegungen zu Arbeitsspeicher und Laufwerken für die apigee-qpidd-Komponente von Edge for Private Cloud (mit Java-basiertem Broker) beschrieben. Die folgenden Abschnitte beziehen sich speziell auf den Anwendungsfall Qpid von Apigee und erklären, wie Qpid mit den Konfigurationsmechanismen von Apigee abgestimmt wird.

QPID in Apigee

In Apigee wird Qpid in zwei Hauptworkflows verwendet:

  • Analysen
  • Monetarisierung

In beiden Workflows generiert der Message Processor Nachrichten, die in Batches gesammelt und an Qpid übertragen werden. Bei Analytics werden die Nachrichten vom Qpid-Server und im Fall der Monetarisierung vom Rating Server (Teil des Verwaltungsservers) gelesen. Nach dem Lesen werden die zusammengefassten Nachrichten wieder aufgenommen.

In den folgenden Abschnitten werden die empfohlenen Konfigurationen für Arbeitsspeicher und Laufwerk mit Qpid beschrieben. Diese Konfigurationen basieren auf einer einzelnen Nachricht mit einer Größe von 2 KB für Analytics oder Monetarisierung. Bei einer Standard-Batchgröße von 50 würde jede Nachricht in Qpid ungefähr 100 KB umfassen. Apigee ermöglicht Proxys, Nachrichten zu ändern und zusätzliche Informationen zu einer Nachricht hinzuzufügen (Analysen oder Monetarisierung). In extremen Fällen kann dies die Größe einer einzelnen Nachricht und der gesamten in Batches zusammengefassten Nachricht in Qpid erheblich ändern. Während die allgemeinen Empfehlungen zu Arbeitsspeicher und Laufwerken in den folgenden Abschnitten auch in solchen Fällen zutreffen, müssen Sie möglicherweise zusätzliche Anpassungen an Qpid vornehmen, um einen reibungslosen Betrieb zu gewährleisten.

Arbeitsspeicher

Qpid Broker verwendet zwei Arten von Arbeitsspeicher: Off-Heap-Speicher und Heap-Speicher. Qpid speichert Nachrichten im Nicht-Heap-Speicher und verwendet den Heap-Speicher für eigene interne Aufgaben, das Weiterleiten von Nachrichten an Warteschlangen und Austauschvorgänge usw. In den meisten Fällen empfiehlt Apigee, für Qpid Broker ein Verhältnis von 3:1 zwischen Nicht-Heap- und Heap-Speicher beizubehalten.

Nachrichten im externen Heap-Speicher bleiben auf der Festplatte erhalten. Wenn die Gesamtauslastung des Off-Heap-Speichers einen bestimmten Schwellenwert überschreitet, wird Qpid außerdem so konfiguriert, dass Nachrichten auf das Laufwerk überlaufen.

Standardmäßig berechnet Apigee den Heap- und Off-Heap-Speicher von Qpid Broker anhand des verfügbaren Arbeitsspeichers auf dem Knoten. Die Skripts von Apigee haben ein weiches Limit von insgesamt 4 GB für den Heap- und Off-Heap-Speicher von Qpid Broker. Wenn Sie diese Limits überschreiben möchten, können Sie die beiden Konfigurationen unten verwenden, um Ihre eigenen Werte für den Heap- und Off-Heap-Speicher von Qpid festzulegen.

  • Konfiguration für Heap-Arbeitsspeicher: bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
  • Konfiguration für Nicht-Heap-Speicher: bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m

Weitere Informationen zum Überschreiben von Konfigurationen finden Sie unter So ändern Sie eine Qpid-Konfiguration.

Weitere Informationen finden Sie unter Apache Qpid-Referenz für Arbeitsspeicher.

Laufwerk

Das Datenverzeichnis von Qpid Broker ist $APIGEE_ROOT/data/apigee-qpidd. Die Logs von Qpid Broker werden in $APIGEE_ROOT/var/log/apigee-qpidd gespeichert.

Die Leistung des Dateisystems, das das Datenverzeichnis hostet, ist entscheidend für die Leistung von Broker als Ganzes. Die beste Leistung erzielen Sie, wenn Sie ein Gerät mit niedriger Latenz auswählen, das nicht von anderen Anwendungen verwendet wird.

Qpid Broker speichert seine Nachrichten im Datenverzeichnis. Standardmäßig akzeptiert der Broker Nachrichten, bis das Dateisystem, das das Datenverzeichnis hostet, zu 80% belegt ist. Sie können diesen Grenzwert ändern, indem Sie die im folgenden Beispiel gezeigte Konfiguration auf jedem Qpid-Knoten überschreiben.

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

In diesem Beispiel lehnt der Broker neue Nachrichten ab, wenn das zugrunde liegende Dateisystem zu 60 % belegt ist.

So ändern Sie eine Qpid-Konfiguration

So ändern Sie eine Qpid-Konfiguration:

  1. Erstellen oder bearbeiten Sie die folgende Datei:
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. Sie können die Konfiguration nach Bedarf hinzufügen, entfernen oder ändern. Wenn Sie beispielsweise den max. Heap-Speicher von Qpid Broker auf 6 GB ändern möchten, fügen Sie der Datei die folgende Konfigurationsüberschreibung hinzu:
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
  3. Speichern Sie die Änderungen und achten Sie darauf, dass die Datei dem apigee-Nutzer gehört und von diesem gelesen werden kann:
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. Starten Sie den qpidd-Prozess neu:
    Apigee-Dienst apigee-qpidd Neustart