Java-Speichereinstellungen ändern

Je nach Traffic- und Verarbeitungsanforderungen müssen Sie möglicherweise die Heap-Speicher größe 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 Java-Heap-Speichergrößen sowie eine Anleitung zum Ändern der Standardwerte. Außerdem wird beschrieben, wie Sie andere JVM-Einstellungen mithilfe von Eigenschaftsdateien ändern.

Standard- und empfohlene Heap-Speichergrößen

In der folgenden Tabelle sind die Standard- und empfohlenen Java-Heap-Speichergrößen für Java-basierte Private Cloud-Komponenten aufgeführt:

Komponente Name der Eigenschaftsdatei Standard
Heap-Größe
Empfohlene
Heap-Größe
Laufzeit
Cassandra – Automatisch konfiguriert1 Automatisch konfiguriert1
Message Processor message‑processor.properties 512MB 3 GB – 6 GB2
Router router.properties 512MB 512MB
Analytics
Postgres-Server postgres‑server.properties 512MB 512MB
Qpid-Server qpid‑server.properties 512MB 2 GB – 4 GB
Verwaltung
Verwaltungsserver management‑server.properties 512MB 512MB
Neue Edge-UI (edge-management-ui) – Native App3 Native App3
SymasLDAP – Native App3 Native App3
Zookeeper zookeeper.properties 2.048 MB 2.048 MB
Hinweise

1 Cassandra berechnet die maximale Heap-Größe dynamisch beim Start. Derzeit beträgt sie die Hälfte des gesamten Systemspeichers, maximal 8.192 MB. Informationen zum Festlegen der Heap-Größe finden Sie unter Heap Speichergröße ändern.

2 Für Message Processor empfiehlt Apigee, die Heap Größe auf 3 GB bis 6 GB festzulegen. Erhöhen Sie die Heap-Größe erst nach Durchführung von Leistungstests auf über 6 GB.

Wenn die Heap-Nutzung während der Leistungstests nahe an das Limit kommt, erhöhen Sie das Limit. Informationen zum Festlegen der Heap-Größe finden Sie unter Heap-Speichergröße ändern.

3 Nicht alle Private Cloud-Komponenten sind in Java implementiert. Da sie nicht auf Java basieren, haben Apps, die nativ auf der Hostplattform ausgeführt werden, keine konfigurierbaren Java-Heap-Größen. Stattdessen wird der Speicher vom Hostsystem verwaltet.

Wenn Sie ermitteln möchten, wie viel Gesamtspeicher 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 auf Ihrem Knoten beispielsweise sowohl der Postgres- als auch der Qpid-Server gehostet werden, empfiehlt Apigee eine kombinierte Speicherzuweisung 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 Heap-Speichereinstellungen ändern möchten, bearbeiten Sie die Eigenschaftsdatei für die Komponente. Bearbeiten Sie beispielsweise für den Message Processor die /opt/apigee/customer/application/message-processor.properties Datei.

Wenn die Datei message-processor.properties oder die entsprechende Datei .properties für eine Edge-Komponente nicht vorhanden ist, erstellen Sie sie und ändern Sie dann den Inhaber der Datei in den Nutzer „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 Eigenschaftsdatei auf allen Computern bearbeiten, auf denen die Komponente gehostet wird.

In der folgenden Tabelle sind die Eigenschaften aufgeführt, die Sie bearbeiten können, um die Heap-Größen zu ändern:

Attribut Beschreibung
bin_setenv_min_mem

Die minimale Heap-Größe. Der Standardwert basiert auf den Werten, die unter Standard- und empfohlene Heap-Speichergrößen aufgeführt sind.

Diese Einstellung entspricht der Java-Option -Xms.

bin_setenv_max_mem

Die maximale Heap-Größe. Der Standardwert basiert auf den Werten, die unter Standard- und empfohlene Heap-Speichergrößen aufgeführt sind.

Diese Einstellung entspricht der Java-Option -Xmx.

bin_setenv_meta_space_size

Die Standardgröße für Klassenmetadaten. Der Standardwert ist der Wert von bin_setenv_max_permsize, der standardmäßig 128 MB beträgt. Für den Message Processor, empfiehlt Apigee, diesen Wert je nach Traffic auf 256 MB oder 512 MB festzulegen.

Diese Einstellung entspricht der Java-Option -XX:MetaspaceSize.

Wenn Sie Heap-Größeneigenschaften auf einem Knoten festlegen, verwenden Sie das Suffix „m“ für Megabyte, 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 Eigenschaftsdatei 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-Eigenschaften ändern

Für Java-Einstellungen, die nicht durch die oben aufgeführten Eigenschaften gesteuert werden, können Sie auch Folgendes in der entsprechenden Eigenschaftsdatei für eine beliebige Edge-Komponente festlegen:

  • bin_setenv_ext_jvm_opts: Legen Sie eine beliebige Java Eigenschaft fest, die nicht durch andere Eigenschaften angegeben wird. Beispiel:
    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 durch die oben aufgeführten Eigenschaften gesteuert werden.

Weitere Tipps zum Konfigurieren des Speichers für Private Cloud-Komponenten finden Sie in diesem Artikel in den Edge-Foren.