Stai visualizzando la documentazione relativa a Apigee e Apigee ibrido.
Non esiste una equivalente
Documentazione di Apigee Edge per questo argomento.
Sintomo
I problemi di heap di Cassandra potrebbero causare rallentamenti nel proxy ibrido Apigee
o addirittura Datastore
errori. A volte i log sono un indicatore precoce, anche prima dell'insorgenza dei sintomi.
Messaggio di errore
Nei log dei pod Cassandra (Cloud Logging), potresti osservare voci di log simili alle seguenti:
WARN [Service Thread] 2023-01-01 01:14:51,121 GCInspector.java:283 - G1 Young Generation GC in 2510ms... ... WARN [Service Thread] 2023-01-01 01:14:51,121 GCInspector.java:283 - G1 Old Generation GC in 3100ms...
2023-01-01 01:14:51,123 FailureDetector.java:278 - Not marking nodes down due to local pause of 45261214670 > 5000000000
java.lang.OutOfMemoryError: Java heap space
Causa: dimensione dello heap Java insufficiente
Diagnosi
Nel file overrides.yaml
per Apigee hybrid
dell'installazione, il valore maxHeapSize
non è impostato su un valore sufficiente.
Ciò potrebbe essere dovuto a
impostazioni di produzione non applicate o le velocità effettiva attuali che richiedono
un valore più alto del solito.
Risoluzione
Per risolvere il problema, modifica maxHeapSize
e memory
di conseguenza e
applica le modifiche:
resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M
Se il problema persiste con la configurazione di produzione predefinita, prova a aumenta ulteriormente i valori. Tieni presente che devi assicurarti che anche la capacità del nodo, il throughput del disco e la larghezza di banda di rete siano sufficienti.
resources: requests: cpu: 7 memory: 30Gi maxHeapSize: 16384M heapNewSize: 2400M
Se l'impostazione di heap da 16 GB non è ancora sufficiente per il volume di traffico, continua con scalabilità orizzontale.
Raccogliere dati diagnostici
Se il problema persiste anche dopo aver seguito le istruzioni riportate sopra, raccogli le seguenti informazioni di diagnostica e poi contatta l'assistenza clienti Google Cloud:
Oltre ai soliti dati che potresti dover fornire, raccogli i dati dati diagnostici di tutti i pod Cassandra con il comando seguente:
for p in $(kubectl -n apigee get pods -l app=apigee-cassandra --no-headers -o custom-columns=":metadata.name") ; do \ for com in info describecluster failuredetector version status ring info gossipinfo compactionstats tpstats netstats cfstats proxyhistograms gcstats ; do kubectl \ -n apigee exec ${p} -- bash -c 'nodetool -u $APIGEE_JMX_USER -pw $APIGEE_JMX_PASSWORD '"$com"' 2>&1 '\ | tee /tmp/k_cassandra_nodetool_${com}_${p}_$(date +%Y.%m.%d_%H.%M.%S).txt | head -n 40 ; echo '...' ; done; done
Comprimilo e forniscilo nella richiesta di assistenza:
tar -cvzf /tmp/cassandra_data_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/k_cassandra_nodetool*