NoSQL と Cassandra は初めてです。メモリ内キャッシュのみのソリューションを実現するための設定を試しています。100000 行のファイルから 1 行ずつ読み取り、Hector を使用して Cassandra に挿入することで処理しています。毎秒約 6000 回の挿入という非常に低いスループットに気付きました。書き込み操作全体で約 20.5 秒かかりますが、これは私たちのアプリケーションでは受け入れられません。1 秒あたり 100000 回の挿入が必要です。4GB RAM を搭載した Windows 7 コンピューターでテストしています。
挿入のみのテストを行っています。
どこが間違っているのか教えてください。1 秒あたりの挿入数を改善する方法を教えてください。
Keyspace: Keyspace1
Read Count: 0
Read Latency: NaN ms.
Write Count: 177042
Write Latency: 0.003106884242157228 ms.
Pending Tasks: 0
Column Family: user
SSTable count: 3
Space used (live): 17691
Space used (total): 17691
Number of Keys (estimate): 384
Memtable Columns Count: 100000
Memtable Data Size: 96082090
Memtable Switch Count: 1
Read Count: 0
Read Latency: NaN ms.
Write Count: 177042
Write Latency: NaN ms.
Pending Tasks: 0
Key cache capacity: 150000
Key cache size: 0
Key cache hit rate: NaN
Row cache capacity: 150000
Row cache size: 0
Row cache hit rate: NaN
Compacted row minimum size: 73
Compacted row maximum size: 924
Compacted row mean size: 784
行キャッシュとキー キャッシュを設定する方法をいくつか試しました。
Cassandra CLI 経由
NodeCmd 経由: java org.apache.cassandra.tools.NodeCmd -p 7199 setcachecapacity Keyspace1 user 150000 150000