現在、2つのラージEC2インスタンスで2つのcassandraノードのクラスターを使用しています。それぞれに約65Gの使用済みデータがあります。(開発と本番の同じセットアップ)。
私たちが抱えている問題は、本番環境での書き込み中です。CPU負荷が40 +(2コアマシン)になり、最終的にマシンが使用できなくなり、再起動する必要があります。総記憶スペースを減らす、若い世代のエデンスペースとサバイバルスペースの比率を変更する、エデンスペースから古い世代に大きなオブジェクトを直接コピーする、圧縮を最適化してより頻繁に実行する、小さな#を使用するなど、複数の「チューニング戦略」を試しました。 sstablesの数(クラッシュ時にディスクの使用率がほとんどないことに気付いたので、メモリ使用量を軽減しようとしました)。
cassandra system.logを見ると、エラーや警告は表示されませんでした。クラッシュ中に表示されるのは、StatusLoggerの出力だけです。
Devクラスターで書き込みを実行すると、すべてがスムーズに実行されます。エラーは発生せず、負荷は最大1.5-2です。2つの本番インスタンスを再起動すると、クラッシュが発生する前にしばらくの間読み取りと書き込みを実行できます。そうでない場合、マシンが2日以上稼働しているとすると、クラッシュは数分以内に発生します。
任意の提案、アイデアをいただければ幸いです。
ありがとう