2012-01-20 11 views
1

頻繁な圧縮とMemtable Flushはクラスタの書き込みレイテンシに影響しますか?Cassandraでの書き込みレイテンシに対する圧縮とフラッシュの影響

私たちの実装では、Counter Column Families [約30]が非常に活発に更新されています。私たちのシステムに対するすべてのリクエストは、約15〜20回の更新を行います[すべての差分CF]。

大量のトラフィックが発生した場合、当社のシステムログでCompactionとFlushingが頻繁に発生することがわかりました。そして、鍵[日のタイムスタンプ、分のタイムスタンプ、時間のタイムスタンプ]、およびクラスタの書き込みレイテンシが通常よりも大きくなるノード[0.6 ms〜26 ms]の負荷が高くなるまでには、

私たちは触れていませんcassandraのデフォルトの設定とcassandraを実行しているマシンの設定が合理的に十分に良い[32G ramと16 core] 4G from cassandra

durable_writesを無効にしてみましたが、それほどうまくいきませんでした期待通り

答えて

5

ショートバージョン:Cassandraがデータディレクトリとは別のディスクにコミットログで推奨されるように設定されている場合、フラッシュと圧縮には無視されるeインパクト。

警告:

更新は、主にCPUバウンドであり、圧縮はCPUがかかります。あなたの状況ではなく、完全性のために4コア未満のマシンまたはVMで実行している場合は、compaction_throughput_mb_per_secを減らして抑制する必要があります。

CFを同時にすべてフラッシュすると(CFの2/3をそれぞれのリクエストで更新するような場合があります)、Cassandraが一時的に書き込みをブロックして、書き込みを受け付けていないことを確認することがありますそれらをフラッシュするよりも速く(そうしなければ、最終的にメモリ不足と死に至る可能性があります)。 4 GBは、多くのCFで大容量のインサートを作成するための比較的小さなヒープです。これを8に増やすことをお勧めします。JVM GCのログ記録を有効にして、JVMの動作の難しさを確認する価値があります。例設定はcassandra-env.shにあります。

最後に、使用しているCassandraバージョンについては言及していませんが、メジャーリリースごとにパフォーマンスは確実に向上しています。特に0.8より古いものを使用している場合は、アップグレードをお勧めします。

+0

申し訳ありませんが、cassandraバージョンは1.05 rpmビルドからdatastaxを使用しています。物事を明確にしてくれてありがとう。 – Tamil

関連する問題