8

增加集群上的复制因子是否也会提高读取速度?

我知道当复制因子为 1,并且有 6 个节点并且令牌平均分配时 - 那么给定节点只有 16.66% 的机会拥有数据,如果它没有,它会询问负责的节点,这需要额外的时间。

我猜想将复制因子设置为 6,每个节点都有完整的数据集,并且可以立即获取数据而无需询问其他节点(我们使用读取一致性 = 1)。所以增加复制因子应该会提高阅读速度。它是否正确?

我们的应用程序的写入次数相对较少,但每秒有超过 10k 次 get() 操作。我们在集群中有 6 个节点,我们需要所有读取操作都非常快,这就是为什么我们正在寻找一种方法来提高 cassandra 的读取性能。

4

2 回答 2

4

这是正确的,只要您使用 ConsistencyLevel.ONE。

于 2012-10-10T20:30:46.910 回答
4

我实际上运行了 ycsb 基准测试——100% 写入和 100% 读取——来测试它。在一致性级别保持在 1 时,增加复制因子似乎会导致读取速度变慢。

在一个 8 节点集群中,这是我得到的数字:

1600 万次读取操作-ycsb 工作负载 C

代表因子_读取时间(分钟)

1 _ 10.8840833333333

2_11.1243666666667

4_17.4050333333333

对于更大的尺寸,跳跃更大。

谁能解释为什么?

于 2013-02-11T21:19:18.960 回答