私はCassandra 1.0.6バージョンを使用しています...私は約5百万個のJSONオブジェクトをそれぞれ約1百万個持っています。挿入が進むにつれて、cassandraのメモリ消費量も一定の点まで安定します。いくつかの挿入(約2〜3 lkhs)後に、rubyクライアントは私に "recv_batch_mutate":CassandraThrift :: TimedOutException例外を与えます。カサンドラはいくつかの挿入後にタイムアウト例外を与えます
また、1KBサイズのJSONオブジェクトを100万回以上挿入しようとしました。これは例外を与えません。またこの実験では、50000個のインサートと50000個のインサートの数の間にグラフをプロットしました。私は、いくつかの反復の後に挿入するのにかかる時間が急激に上昇し、突然それが落ちることが分かりました。これは、JVMによって行われるガベージコレクションが原因である可能性があります。しかし、5KBのデータを100万回挿入するのと同じことは起こりません。
何が問題なのですか? システム: - - :: - - concurrent_writes:64
-
- 8ギガバイト4コア..
カサンドラの構成で、私が使用しています設定オプションの一部memtable_flush_writers:4
memtable_flush_queue_size:8
rpc_server_type:同期
thrift_framed_transport_size_in_mb:30
in_memory_compaction_limit_in_mb:64
multithreaded_compaction:真
私は設定の変更を行う必要がありますか。それはJVMのヒープスペースに関連しているのか、ガベージコレクションのためですか?
バッチインサートを行っていますか?もしあなたのバッチサイズは? – psanford