Modifica delle impostazioni della memoria Java

A seconda dei requisiti di traffico ed elaborazione, potresti dover modificare le dimensioni della memoria heap o le dimensioni dei metadati della classe per i nodi che eseguono i componenti di cloud privato basati su Java.

Questa sezione fornisce le dimensioni predefinite e consigliate della memoria heap Java, nonché la procedura per modificare i valori predefiniti. Infine, questa sezione descrive come modificare altre impostazioni della JVM utilizzando i file di proprietà.

Dimensioni della memoria heap predefinite e consigliate

La tabella seguente elenca le dimensioni predefinite e consigliate della memoria heap Java per i componenti di cloud privato basati su Java:

Componente Nome file di proprietà Predefinito
Dimensioni heap
Consigliato
Dimensioni heap
Tempo di esecuzione
Cassandra n/a Configurato automaticamente1 Configurato automaticamente1
Processore di messaggi message‑processor.properties 512MB 3GB - 6GB2
Router router.properties 512MB 512MB
Analytics
Server Postgres postgres‑server.properties 512MB 512MB
Server Qpid qpid‑server.properties 512MB 2GB - 4GB
Gestione
Server di gestione management‑server.properties 512MB 512MB
Nuova UI Edge (edge-management-ui) n/a App nativa3 App nativa3
SymasLDAP n/a App nativa3 App nativa3
Zookeeper zookeeper.properties 2048MB 2048MB
Note

1 Cassandra calcola dinamicamente la dimensione massima dell'heap all'avvio. Attualmente, si tratta della metà della memoria totale del sistema, con un massimo di 8192 MB. Per informazioni sull'impostazione della dimensione dell'heap, consulta Modificare le dimensioni della memoria heap.

2 Per i processori di messaggi, Apigee consiglia di impostare la dimensione dell'heap tra 3 GB e 6 GB. Aumenta la dimensione dell'heap oltre 6 GB solo dopo aver eseguito test di rendimento.

Se l'utilizzo dell'heap si avvicina al limite massimo durante i test di rendimento, aumenta il limite massimo. Per informazioni sull'impostazione della dimensione dell'heap, consulta Modificare le dimensioni della memoria heap.

3 Non tutti i componenti del cloud privato sono implementati in Java. Poiché non sono basate su Java, le app in esecuzione in modo nativo sulla piattaforma host non hanno dimensioni dell'heap Java configurabili; si basano invece sul sistema host per la gestione della memoria.

Per determinare la quantità di memoria totale che Apigee consiglia di allocare ai componenti basati su Java su un nodo, somma i valori elencati sopra per ogni componente sul nodo. Ad esempio, se il nodo ospita sia i server Postgres che Qpid, Apigee consiglia che l'allocazione combinata della memoria sia compresa tra 2,5 GB e 4,5 GB.

Per un elenco dell'hardware richiesto (ad esempio la RAM), consulta Requisiti di installazione.

Modificare le dimensioni della memoria heap

Per modificare le impostazioni della memoria heap, modifica il file di proprietà del componente. Ad esempio, per il processore di messaggi, modifica il /opt/apigee/customer/application/message-processor.properties file.

Se il file message-processor.properties non esiste o se il file .properties corrispondente per qualsiasi componente Edge non esiste, crealo e poi modifica la proprietà del file all'utente "apigee", come mostrato nell'esempio seguente:

chown apigee:apigee /opt/apigee/customer/application/message-processor.properties

Se il componente è installato su più macchine, ad esempio il processore di messaggi, devi modificare il file di proprietà su tutte le macchine che ospitano il componente.

La tabella seguente elenca le proprietà che devi modificare per cambiare le dimensioni dell'heap:

Proprietà Descrizione
bin_setenv_min_mem

La dimensione minima dell'heap. Il valore predefinito si basa sui valori elencati in Dimensioni della memoria heap predefinite e consigliate.

Questa impostazione corrisponde all'opzione Java -Xms.

bin_setenv_max_mem

La dimensione massima dell'heap. Il valore predefinito si basa sui valori elencati in Dimensioni della memoria heap predefinite e consigliate.

Questa impostazione corrisponde all'opzione Java -Xmx.

bin_setenv_meta_space_size

La dimensione predefinita dei metadati della classe. Il valore predefinito è impostato sul valore di bin_setenv_max_permsize, che per impostazione predefinita è 128 MB. Nel processore di messaggi, Apigee consiglia di impostare questo valore su 256 MB o 512 MB, a seconda del traffico.

Questa impostazione corrisponde all'opzione Java -XX:MetaspaceSize.

Quando imposti le proprietà della dimensione dell'heap su un nodo, utilizza il suffisso "m" per indicare i megabyte, come mostrato nell' esempio seguente:

bin_setenv_min_mem=4500m
bin_setenv_max_mem=4500m
bin_setenv_meta_space_size=1024m

Dopo aver impostato i valori nel file di proprietà, riavvia il componente:

/opt/apigee/apigee-service/bin/apigee-service component restart

Ad esempio:

/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Modificare altre proprietà della JVM

Per le impostazioni Java non controllate dalle proprietà elencate sopra, puoi anche impostare le seguenti nel file di proprietà corrispondente per qualsiasi componente Edge:

  • bin_setenv_ext_jvm_opts: imposta qualsiasi proprietà Java non specificata da altre proprietà. Ad esempio:
    bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500

    Tuttavia, non utilizzare bin_setenv_ext_jvm_opts per impostare -Xms, -Xmx o -XX:MetaspaceSize, poiché questi valori sono controllati dalle proprietà elencate sopra.

Per ulteriori suggerimenti sulla configurazione della memoria per i componenti di cloud privato, consulta questo articolo sui forum di Edge.