Modifica delle impostazioni della memoria Java

A seconda dei requisiti di traffico e di elaborazione, potrebbe essere necessario modificare la memoria heap dimensione o dimensione dei metadati di classe per i nodi che eseguono un cloud privato basato su Java componenti.

Questa sezione fornisce le dimensioni di memoria heap Java predefinite e consigliate, nonché come processo per modificare i valori predefiniti. Infine, questa sezione descrive come modificare altre Impostazioni JVM con file di proprietà.

Dimensioni della memoria heap predefinite e consigliate

La tabella seguente elenca le dimensioni di memoria heap Java predefinite e consigliate per basate su Java Componenti del cloud privato:

Componente Nome file delle proprietà Dimensioni heap predefinite
Consigliata
Dimensione heap
Runtime
Cassandra n/d Configurazione automatica1 Configurazione automatica1
processore di messaggi message-processor.properties 512 MB 3 - 6 GB2
Router router.properties 512 MB 512 MB
Analytics
Server Postgres postgres-server.properties 512 MB 512 MB
Server Qpid qpid-server.properties 512 MB 2 - 4 GB
Gestione
Server di gestione management-server.properties 512 MB 512 MB
UI ui.properties 512 MB 512 MB
OpenLDAP n/d App nativa3 App nativa3
Zookeeper zookeeper.properties 2048 MB 2048 MB
Note

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

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

Se durante il test delle prestazioni l'utilizzo dell'heap si avvicina al limite massimo, aumenta il limite massimo. Per informazioni sull'impostazione della dimensione 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 eseguite in modo nativo sulla piattaforma host non dispongono dimensioni heap Java configurabili; per la memoria, si affidano al sistema host gestione dei dispositivi.

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

Per un elenco di hardware richiesto (ad esempio RAM), vedi Requisiti di installazione.

Modificare le dimensioni della memoria heap

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

Se il file message-processor.properties non esiste oppure se il file .properties corrispondente per qualsiasi componente Edge esiste non esiste, crearlo e quindi cambiare la proprietà del file in "apigee" utente come segue: un esempio mostra:

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

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

La seguente tabella elenca le proprietà modificate per cambiare le dimensioni dell'heap:

Proprietà Descrizione
bin_setenv_min_mem

La dimensione minima dello heap. L'impostazione predefinita 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. L'impostazione predefinita 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 per via del traffico.

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

Quando imposti le proprietà delle dimensioni dello heap su un nodo, utilizza la sigla "m" per indicare i megabyte, come 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 delle 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

Modifica di altre proprietà JVM

Per le impostazioni Java non controllate dalle proprietà sopra elencate, puoi anche impostare il campo nel file delle proprietà corrispondenti per ogni componente Edge:

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

    Tuttavia, non usare bin_setenv_ext_jvm_opts per imposta -Xms, -Xmx o -XX:MetaspaceSize in quanto questi valori sono controllato dalle proprietà sopra elencate.

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