QPID-Leitfaden

Edge for Private Cloud Version 4.52.01 wird mit Qpid Broker-J 8.0.6 ausgeliefert. Auf dieser Seite werden Überlegungen zu Arbeitsspeicher und Laufwerken für die Komponente apigee-qpidd von Edge for Private Cloud (mit Java-basiertem Broker) beschrieben. Die folgenden Abschnitte beziehen sich speziell auf den Apigee-Anwendungsfall Qpid und erklären, wie Qpid mithilfe der 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 für die Monetarisierung von Rating Server (Teil des Management-Servers) gelesen. Nach dem Lesen werden die Batch-Nachrichten nicht mehr in Batches verarbeitet und aufgenommen.

In den folgenden Abschnitten werden die empfohlenen Konfigurationen für Arbeitsspeicher und Laufwerke mit Qpid beschrieben. Diese Konfigurationen basieren auf einer einzelnen Nachrichtengröße von 2 KB für Analytics oder Monetarisierung. Bei einer Standard-Batchgröße von 50 wäre jede Nachricht in Qpid etwa 100 KB groß. Apigee ermöglicht es Proxys, zusätzliche Informationen zu einer Nachricht (Analytics oder Monetarisierung) zu ändern und hinzuzufügen. In extremen Fällen kann sich dadurch die Größe einer einzelnen Nachricht und der gesamten Batch-Nachricht in Qpid erheblich ändern. Auch in solchen Fällen gelten die allgemeinen Empfehlungen zu Arbeitsspeicher und Laufwerken in den folgenden Abschnitten. Unter Umständen müssen Sie jedoch weitere Anpassungen an Qpid vornehmen, um reibungslose Vorgänge zu ermöglichen.

Informationen merken

Qpid Broker verwendet zwei Arten von Arbeitsspeicher: Off-Heap-Arbeitsspeicher und Heap-Arbeitsspeicher. Qpid speichert Nachrichten im Off-Heap-Arbeitsspeicher und verwendet den Heap-Arbeitsspeicher für seine eigenen internen Aufgaben, Direktnachrichten an Warteschlangen und Exchanges usw. Unter den meisten Umständen empfiehlt Apigee, für Qpid Broker ein Verhältnis von 3:1 zwischen dem Off-Heap- und dem Heap-Speicher beizubehalten.

Nachrichten im Off-Heap-Arbeitsspeicher bleiben auf dem Laufwerk erhalten. Wenn die Gesamtauslastung des Off-Heap-Arbeitsspeichers einen bestimmten Grenzwert überschreitet, wird Qpid außerdem so konfiguriert, dass Nachrichten über einen Überlauf auf das Laufwerk gelangen.

Standardmäßig berechnet Apigee den Heap- und Off-Heap-Arbeitsspeicher von Qpid Broker basierend auf dem verfügbaren Arbeitsspeicher auf dem Knoten. Die Skripts von Apigee haben ein weiches Limit von 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 Off-Heap-Arbeitsspeicher: bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m

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

Weitere Informationen finden Sie in der Apache Qpid-Referenz für Memory.

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, in dem das Datenverzeichnis gehostet wird, 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, in dem das Datenverzeichnis gehostet wird, zu 80% voll ist. Sie können diesen Grenzwert ändern, indem Sie die im Beispiel unten gezeigte Konfiguration für jeden 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 % voll 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. Fügen Sie die Konfiguration nach Bedarf hinzu, entfernen oder ändern Sie sie. Wenn Sie beispielsweise den maximalen Heap-Arbeitsspeicher von Qpid Broker auf 6 GB ändern möchten, fügen Sie die folgende Konfigurationsüberschreibung in der Datei hinzu:
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
  3. Speichern Sie die Änderungen und prüfen Sie, ob der apigee-Nutzer Eigentümer der Datei ist und von ihm gelesen werden kann:
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. Starten Sie den Prozess qpidd neu:
    apigee-service apigee-qpidd neustart