我正在对 8 个节点的 cassandra 进行压力测试,尽管我增加了复制因子,但读取性能几乎是恒定的。我向集群插入了 1000000 个对象,恰好有 2 个对象会被多次读取,因此这 2 个对象变得非常流行。其他的统一随机访问。因为我只读取对象(初始插入后不写入),所以我期望增加复制因子时读取性能会提高。相反,它几乎保持不变。您能帮忙找出这种行为吗?
最佳答案
增加复制因子不会提高读取性能。复制因子提供了数据可用性
的概念。这意味着,如果相应的节点出现故障,则将从复制节点检索数据。因此,无论您的复制因子是什么,查询时间都将相同。
您可以了解 cassandra 读取的工作原理。如果您想提高读取性能,那么您的数据建模应该处于良好的状态。这意味着您的列族架构和查询应该支持良好的读取性能。如果没有您的列族架构和查询,就很难进一步解释(我同意@kdgregory 评论)。对于数据建模,请参阅 http://www.datastax.com/documentation/cql/3.0/cql/ddl/ddl_anatomy_table_c.html 。
关于java - Cassandra 的读取性能在复制过程中几乎保持不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27367500/