Anda sedang melihat dokumentasi Apigee dan Apigee Hybrid.
Tidak ada dokumentasi
Apigee Edge yang setara untuk topik ini.
Gejala
Masalah heap Cassandra dapat menyebabkan lambatnya eksekusi proxy hybrid Apigee atau bahkan error Datastore. Terkadang log menjadi indikator awal, bahkan sebelum timbulnya gejala.
Pesan Error
Di log pod Cassandra (Cloud Logging), entri log mungkin terlihat mirip dengan berikut ini:
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
Penyebab: Ukuran heap Java tidak memadai
Diagnosis
Di file overrides.yaml untuk penginstalan Apigee hybrid, maxHeapSize tidak ditetapkan ke nilai yang memadai.
Hal ini dapat disebabkan oleh
setelan produksi yang tidak diterapkan, atau throughput saat ini yang memerlukan
setelan yang lebih tinggi dari biasanya.
Resolusi
Untuk mengatasi masalah ini, sesuaikan maxHeapSize dan memory
dengan tepat, lalu
terapkan perubahan:
resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M
Jika masalah berlanjut dengan konfigurasi produksi default, coba tingkatkan nilai lebih lanjut. Perhatikan bahwa Anda juga harus memastikan kapasitas node, throughput disk, dan bandwidth jaringan sudah memadai.
resources: requests: cpu: 7 memory: 30Gi maxHeapSize: 16384M heapNewSize: 2400M
Jika setelan heap 16 GB masih belum cukup untuk volume traffic, lanjutkan dengan penskalaan horizontal.
Harus mengumpulkan informasi diagnostik
Jika masalah berlanjut bahkan setelah mengikuti petunjuk di atas, kumpulkan informasi diagnostik berikut, lalu hubungi Layanan Pelanggan Google Cloud:
Selain data biasa yang mungkin diminta untuk Anda berikan, kumpulkan data diagnostik dari semua pod Cassandra dengan perintah di bawah:
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
Kompres, lalu berikan dalam kasus Dukungan:
tar -cvzf /tmp/cassandra_data_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/k_cassandra_nodetool*