最近我一直在和 Cassandra 一起玩。在将节点添加到 Cassandra 时,我遇到了延迟峰值,同时在所有现有 C* 节点上设置了 nodetool 流限制。
具体来说,最初集群有 4 个 C* 节点,我在原始节点在 1200 秒预热时添加了 2 个额外节点,如图所示。这 4 个节点上存储的数据量为 50 GB,每个节点的密钥大小为 20 KB。Nodetool 用于将“流限制”设置为 1MB/s。YCSB 用于在扩展过程中这 4 个现有节点可以达到的最大吞吐量的 80% 生成读取主导 (90%) 工作负载。这些数字显示了 YCSB 每 10 秒的输出服务延迟。
有人对延迟峰值有一些答案吗?也许是后台的 gc 或压缩?或者只是带宽饱和,因为我将流限制设置为 1MB/s,这似乎不是这样?