随着密钥数量的增加,使用 10GB RAM 运行 Cassandra 1.2.3 会导致堆使用量不断增加。现在大约是 8.3G,节点会遇到导致超时的堆压力。
cfstats 输出:
Keyspace: profiles
Read Count: 33775531
Read Latency: 11.160335890411316 ms.
Write Count: 146030154
Write Latency: 0.03436538754180866 ms.
Pending Tasks: 0
Column Family: profiles
SSTable count: 12
Space used (live): 161353987766
Space used (total): 161604490499
Number of Keys (estimate): 162628352
Memtable Columns Count: 69256
Memtable Data Size: 58138189
Memtable Switch Count: 6844
Read Count: 33775532
Read Latency: 13.964 ms.
Write Count: 146030157
Write Latency: 0.032 ms.
Pending Tasks: 0
Bloom Filter False Positives: 2498002
Bloom Filter False Ratio: 0.31157
Bloom Filter Space Used: 110145928
Compacted row minimum size: 30
Compacted row maximum size: 73457
Compacted row mean size: 3508
这是堆转储。
分析它并没有导致任何结果,只是假设存在内存泄漏,因为我看到很多几乎空的数组和映射。
我很感激想法。