增加群集上的复制因子是否也会提高读取速度?
据我所知,当复制因子为1,并且有6个节点并且令牌均匀分布时 - 给定节点有数据的可能性仅为16,66%,如果它没有,它会询问负责的节点这需要额外的时间。
我想,在复制因子设置为6的情况下,每个节点都有完整的数据集,可以立即获取数据而无需询问其他节点(我们使用读取一致性= 1)。因此,增加复制因子应该提高阅读速度。它是否正确?
我们的应用程序写入次数相对较少,但每秒运行次数超过10万次。我们在集群中有6个节点,我们需要所有读取操作都非常快,这就是为什么我们正在寻找一种提高cassandra读取性能的方法。
答案 0 :(得分:4)
这是正确的,只要你使用的是ConsistencyLevel.ONE。
答案 1 :(得分:4)
我实际上运行了ycsb基准测试 - 100%写入和100%读取测试。 增加复制因子似乎导致读取速度变慢,而一致性级别保持为1。
在8节点集群中,这里是我得到的数字:
1600万读取操作-yccsb工作负载C
rep.factor _ readtime(min)
1 _ 10.8840833333333
2 _ 11.1243666666667
4 _ 17.4050333333333
对于更大的尺寸,跳跃甚至更大。
任何人都可以解释原因吗?