在将总数据从 ~2MB 增加到约 460MB 后,我遇到了 Cassandra 查询超时的问题。
我提出了一些问题,这些问题甚至需要 6 分钟才能解决。那是在我rpc_timeout_in_ms: 1000
在两个节点上设置之后。我这样做是因为我认为超时可能与 get_indexed_slices
查询已用尽而一无所获有关。
现在每行最多有 10 列,ea 中只有 4 个字节。上校
查询基本上是 min_val < my_column AND my_column < max_val AND dummy_col = 0
我有两个带有复制因子 =2 的 Amazon Datastax AMI 节点。
这是我的部分 nodetool cfstats
输出。
$ nodetool cfstats -h localhost
Keyspace: Keyspace1
Read Count: 12403801
Read Latency: 0.08655620273172715 ms.
Write Count: 1500181
Write Latency: 0.12406482817739993 ms.
Pending Tasks: 0
Column Family: col_family
SSTable count: 3
Space used (live): 488592615
Space used (total): 488592615
Number of Keys (estimate): 1454976
Memtable Columns Count: 0
Memtable Data Size: 0
Memtable Switch Count: 26
Read Count: 12403801
Read Latency: NaN ms.
Write Count: 1500181
Write Latency: NaN ms.
Pending Tasks: 0
Bloom Filter False Postives: 10879
Bloom Filter False Ratio: 0.00000
Bloom Filter Space Used: 2731728
Key cache capacity: 200000
Key cache size: 200000
Key cache hit rate: NaN
Row cache: disabled
Compacted row minimum size: 180
Compacted row maximum size: 310
Compacted row mean size: 310
更新
有帮助的一件事是我试图确保我的行键是连续的。之前,我的行键是以毫秒为单位的时间戳。这些非常稀少。
我没有计算确切的改进,但它很明显。