Edge for Private Cloud, Version 4.54.00, wird mit Qpid Broker-J 10.0.1 ausgeliefert. Auf dieser
Seite werden
die Arbeitsspeicher- und Laufwerküberlegungen für
die apigee-qpidd Komponente von Edge for Private Cloud (mit Java-basiertem Broker) beschrieben.
Die folgenden Abschnitte gelten speziell für den Qpid-Anwendungsfall von Apigee
und erläutern, wie Sie Qpid mit den Konfigurationsmechanismen von Apigee optimieren.
Qpid in Apigee
In Apigee wird Qpid in zwei Hauptworkflows verwendet:
- Analytics
- Monetarisierung
In beiden Workflows generiert der Message Processor Nachrichten, die in Batches zusammengefasst und an Qpid gesendet werden. Für Analytics werden die Nachrichten vom Qpid-Server gelesen; für die Monetarisierung vom Rating Server (Teil des Management-Servers). Nach dem Lesen werden die Nachrichten aus dem Batch entfernt und aufgenommen.
Empfohlene Konfigurationen
In den folgenden Abschnitten werden die empfohlenen Konfigurationen für Arbeitsspeicher und Laufwerk 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 beträgt die Größe jeder Nachricht in Qpid etwa 100 KB. Mit Apigee können Proxys Nachrichten (Analytics oder Monetarisierung) ändern und zusätzliche Informationen hinzufügen. In Extremfällen kann dies die Größe einer einzelnen Nachricht und der gesamten Batchnachricht in Qpid erheblich verändern. Die allgemeinen Empfehlungen zu Arbeitsspeicher und Laufwerk in den folgenden Abschnitten gelten auch in solchen Fällen. Möglicherweise müssen Sie jedoch zusätzliche Anpassungen an Qpid vornehmen, um einen reibungslosen Betrieb zu gewährleisten.
Arbeitsspeicher
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 eigene interne Aufgaben, direkte Nachrichten an Warteschlangen und Exchanges usw. Unter den meisten Umständen empfiehlt Apigee ein Verhältnis von 3:1 zwischen Off-Heap- und Heap-Arbeitsspeicher für Qpid Broker.
Nachrichten im Off-Heap-Arbeitsspeicher werden auf dem Laufwerk gespeichert. Wenn die Gesamtauslastung des Off-Heap-Arbeitsspeichers einen bestimmten Schwellenwert überschreitet, ist Qpid so konfiguriert, dass Nachrichten auf das Laufwerk überlaufen.
Standardmäßig berechnet Apigee den Heap- und Off-Heap-Arbeitsspeicher von Qpid Broker basierend auf dem verfügbaren Arbeitsspeicher auf dem Knoten. Die Apigee-Skripts haben ein weiches Limit von 4 GB für den kombinierten Heap- und Off-Heap-Arbeitsspeicher von Qpid Broker. Wenn Sie diese Limits überschreiben möchten, können Sie mit den beiden folgenden Konfigurationen eigene Werte für den Heap- und Off-Heap-Arbeitsspeicher von Qpid festlegen.
- 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 Qpid-Konfiguration ändern für.
Weitere Informationen finden Sie in der 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, auf dem sich das Datenverzeichnis befindet, ist entscheidend für die Leistung des Brokers insgesamt. Wählen Sie für eine optimale Leistung ein Gerät mit geringer Latenz aus, das nicht von anderen Anwendungen verwendet wird.
Der Qpid Broker speichert seine Nachrichten im Datenverzeichnis. Standardmäßig akzeptiert der Broker Nachrichten, bis das Dateisystem, auf dem sich das Datenverzeichnis befindet, zu 80% voll ist. Sie können diesen Schwellenwert ä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 % voll ist.
Qpid-Konfiguration ändern
So ändern Sie eine Qpid-Konfiguration:
- Erstellen oder bearbeiten Sie die folgende Datei:
$APIGEE_ROOT/customer/application/qpidd.properties
- 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 der Datei die folgende Konfiguration
überschreibung hinzu:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
- Speichern Sie die Änderungen und prüfen Sie, ob die Datei dem Nutzer
apigeegehört und von ihm gelesen werden kann:chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
- Starten Sie den
qpidd-Prozess neu:apigee-service apigee-qpidd restart