Je nach Traffic- und Verarbeitungsanforderungen müssen Sie möglicherweise die Größe des Heap-Speichers oder die Größe der Klassenmetadaten für Ihre Knoten ändern, auf denen Java-basierte Private-Cloud-Komponenten ausgeführt werden.
In diesem Abschnitt finden Sie die Standard- und empfohlenen Größen für den Java-Heap-Speicher sowie eine Anleitung zum Ändern der Standardeinstellungen. Abschließend wird in diesem Abschnitt beschrieben, wie Sie andere JVM-Einstellungen mithilfe von Properties-Dateien ändern.
Standard- und empfohlene Heap-Speichergrößen
In der folgenden Tabelle sind die standardmäßigen und empfohlenen Java-Heap-Speichergrößen für Java-basierte Private Cloud-Komponenten aufgeführt:
Komponente | Eigenschaftendateiname | Standard -Haufengröße |
Empfohlene Heap-Größe |
---|---|---|---|
Laufzeit | |||
Cassandra | – | Automatisch konfiguriert1 | Automatisch konfiguriert1 |
Message Processor | message-processor.properties |
512 MB | 3 GB bis 6 GB2 |
Router | router.properties |
512 MB | 512 MB |
Analytics | |||
Postgres-Server | postgres-server.properties |
512 MB | 512 MB |
Qpid-Server | qpid-server.properties |
512 MB | 2 bis 4 GB |
Verwaltung | |||
Verwaltungsserver | management-server.properties |
512 MB | 512 MB |
UI | ui.properties |
512 MB | 512 MB |
OpenLDAP | – | Native App3 | Native App3 |
Zookeeper | zookeeper.properties |
2.048 MB | 2.048 MB |
Hinweise | |||
1: Cassandra berechnet die maximale Heap-Größe beim Starten dynamisch. Derzeit entspricht dies der Hälfte des gesamten Systemspeichers mit einem Maximum von 8.192 MB. Informationen zum Festlegen der Heap-Größe finden Sie unter Größe des Heap-Speichers ändern. |
|||
2 Für Message Processor empfiehlt Apigee, die Heap-Größe auf zwischen 3 GB und 6 GB festzulegen. Erhöhen Sie die Heap-Größe nur nach Durchführung von Leistungstests auf über 6 GB.
Wenn die Heap-Nutzung während der Leistungstests an das maximale Limit herankommt, erhöhen Sie das maximale Limit. Informationen zum Festlegen der Heap-Größe finden Sie unter Größe des Heap-Speichers ändern. |
|||
3 Nicht alle Komponenten der Private Cloud sind in Java implementiert. Da sie nicht Java-basiert sind, haben Anwendungen, die nativ auf der Hostplattform ausgeführt werden, keine konfigurierbaren Java-Heap-Größen. Stattdessen verlassen sie sich für die Speicherverwaltung auf das Hostsystem. |
Um zu ermitteln, wie viel Arbeitsspeicher Apigee für Ihre Java-basierten Komponenten auf einem Knoten empfiehlt, addieren Sie die oben aufgeführten Werte für jede Komponente auf diesem Knoten. Wenn Ihr Knoten beispielsweise sowohl die Postgres- als auch die Qpid-Server hostet, empfiehlt Apigee eine gemeinsame Arbeitsspeicherzuweisung von 2,5 GB bis 4,5 GB.
Eine Liste der erforderlichen Hardware (z. B. RAM) finden Sie unter Installationsanforderungen.
Heap-Speichergrößen ändern
Wenn Sie die Einstellungen für den Heap-Speicher ändern möchten, bearbeiten Sie die Eigenschaftendatei der Komponente. Bearbeiten Sie beispielsweise für den Message Processor die Datei /opt/apigee/customer/application/message-processor.properties
.
Wenn die Datei message-processor.properties
nicht vorhanden ist oder die entsprechende .properties
-Datei für eine Edge-Komponente nicht vorhanden ist, erstellen Sie sie und ändern Sie dann die Inhaberschaft der Datei in „apigee“, wie im folgenden Beispiel gezeigt:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
Wenn die Komponente auf mehreren Computern installiert ist, z. B. der Message Processor, müssen Sie die Eigenschaftendatei auf allen Computern bearbeiten, auf denen die Komponente gehostet wird.
In der folgenden Tabelle sind die Eigenschaften aufgeführt, die Sie bearbeiten, um die Heapgrößen zu ändern:
Attribut | Beschreibung |
---|---|
bin_setenv_min_mem |
Die Mindestgröße des Heaps. Der Standardwert basiert auf den Werten, die unter Standardgröße und empfohlene Heap-Speichergrößen aufgeführt sind. Diese Einstellung entspricht der Java-Option |
bin_setenv_max_mem |
Die maximale Heap-Größe. Der Standardwert basiert auf den Werten unter Standard- und empfohlene Heap-Speichergrößen. Diese Einstellung entspricht der Java-Option |
bin_setenv_meta_space_size |
Die Standardgröße der Klassenmetadaten. Der Standardwert ist Diese Einstellung entspricht der Java-Option |
Wenn Sie die Eigenschaften der Heap-Größe für einen Knoten festlegen, verwenden Sie das Suffix „m“, um Megabytes anzugeben, wie im folgenden Beispiel gezeigt:
bin_setenv_min_mem=4500m bin_setenv_max_mem=4500m bin_setenv_meta_space_size=1024m
Nachdem Sie die Werte in der Properties-Datei festgelegt haben, starten Sie die Komponente neu:
/opt/apigee/apigee-service/bin/apigee-service component restart
Beispiel:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Andere JVM-Properties ändern
Bei Java-Einstellungen, die nicht von den oben aufgeführten Eigenschaften gesteuert werden, können Sie auch zusätzliche JVM-Flags oder -Werte für jede Edge-Komponente übergeben. Die *.properties
-Dateien werden von Bash gelesen und sollten in '
(einfache Anführungszeichen) gesetzt werden, um Literalzeichen beizubehalten, oder in "
(doppelte Anführungszeichen), wenn eine Shell-Erweiterung erforderlich ist.
bin_setenv_ext_jvm_opts
: Legen Sie alle Java-Properties fest, die nicht durch andere Properties angegeben wurden. Beispiele:bin_setenv_ext_jvm_opts='-XX:MaxGCPauseMillis=500'
Verwenden Sie
bin_setenv_ext_jvm_opts
jedoch nicht, um-Xms
,-Xmx
oder-XX:MetaspaceSize
festzulegen, da diese Werte von den oben aufgeführten Attributen gesteuert werden.
Weitere Tipps zum Konfigurieren des Arbeitsspeichers für Private Cloud-Komponenten finden Sie in diesem Artikel in den Edge-Foren.