1

在将总数据从 ~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

更新

有帮助的一件事是我试图确保我的行键是连续的。之前,我的行键是以毫秒为单位的时间戳。这些非常稀少。

我没有计算确切的改进,但它很明显。

4

0 回答 0