現在、Apigee と Apigee ハイブリッドのドキュメントを表示しています。
このトピックに対応する Apigee Edge のドキュメントはありません。
症状
Cassandra ヒープの問題により、Apigee ハイブリッド プロキシの実行速度が低下することや、Datastore
エラーが発生することがあります。場合によっては、症状が発生する前であっても、ログで早期に問題を確認できることがあります。
エラー メッセージ
Cassandra Pod のログ(Cloud Logging)に、次のようなログエントリが記録される場合があります。
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
原因: Java ヒープサイズが不十分
診断
Apigee ハイブリッド インストールの overrides.yaml
ファイルで、maxHeapSize
が十分な値に設定されていません。この原因としては、本番環境の設定が適用されていないか、現在のスループットに通常よりも高い設定が必要であることが考えられます。
解決策
この問題を解決するには、maxHeapSize
と memory
を適切に調整して、変更を適用します。
resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M
デフォルトの本番環境の構成で問題が解決しない場合は、値をさらに大きくしてください。ノード容量、ディスク スループット、ネットワーク帯域幅も十分に確保する必要がある点に留意してください。
resources: requests: cpu: 7 memory: 30Gi maxHeapSize: 16384M heapNewSize: 2400M
16 GB のヒープ設定でもトラフィック量に対応するには不十分な場合は、続けて水平方向のスケーリングを行ってください。
診断情報の収集が必要な場合
上記の手順でも問題が解決しない場合は、次の診断情報を収集して Google Cloud カスタマーケアにご連絡ください。
提出を求められる可能性のある通常のデータに加えて、次のコマンドを使用して、すべての Cassandra Pod から診断データを収集します。
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
これを圧縮してサポートケースで提出します。
tar -cvzf /tmp/cassandra_data_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/k_cassandra_nodetool*