【问题标题】:Cassandra read performance almost a constant with replicationCassandra 读取性能几乎与复制保持一致
【发布时间】:2014-12-08 21:41:35
【问题描述】:

我正在用 8 个节点对 cassandra 进行压力测试,尽管我增加了复制因子,但读取性能几乎是一个常数。我将 1000000 个对象插入到集群中,并且恰好 2 个对象会被读取多次,因此这 2 个对象变得非常流行。其他的统一随机访问。因为我只读取对象(在初始插入后没有写入),所以我希望在增加复制因子时提高读取性能。相反,它几乎保持不变。你能帮忙弄清楚这种行为吗?

【问题讨论】:

  • 您可能受限于您的客户端,而不是服务器。但是除非您发布代码,否则这里没有人可以告诉您。
  • 我正在使用 Yahoo Cloud Service Benchmark (github.com/cmatser/YCSB/tree/cassandracql) 框架来强调 cassandra。关于负载,我正在增加客户端,因此从资源利用率来看,我可以看到集群压力很大,有 3 个客户端。我在 DigitalOcean 每月 10 美元的实例 (digitalocean.com/pricing) 中运行它。我的设置是 8 个实例构成 cassandra 集群,3 个实例运行 YCSB 客户端,每个实例执行 500000 个读取请求。

标签: java cassandra cassandra-2.0


【解决方案1】:

增加复制因子不会提高您的读取性能。复制因子提供了 Data Availability 的概念。这意味着,如果相应的节点出现故障,则从复制节点检索数据。因此查询时间将与您的复制因子相同。

参考http://www.datastax.com/documentation/cassandra/1.2/cassandra/architecture/architectureClientRequestsRead_c.html

您可以了解 cassandra 读取的工作原理。如果你想提高你的读取性能,那么你的数据建模应该是好的。这意味着您的列族架构和查询应该支持良好的读取性能。如果没有您的列族架构和您的查询,很难进一步解释(我同意@kdgregory 评论)。对于数据建模,请参考 http://www.datastax.com/documentation/cql/3.0/cql/ddl/ddl_anatomy_table_c.html

【讨论】:

  • 恕我直言,复制因子可以允许对副本上的读取进行负载平衡并提高读取性能,前提是一致性级别为 ONE
  • 您的回答有帮助,但现在我遇到了另一个问题,因为我在 Amazon EC2 实例中进行了相同的测试(早期的测试是在数字海洋中进行的,结果几乎是恒定的),并且它在较低的复制中提供了更高的吞吐量但当因素增加时,读取性能显着下降。例如,复制 1 的读取吞吐量 = 9200 请求/秒,复制因子 8 = 7200 请求/秒。我正在使用 YCSB 框架进行压力测试,并且我有一个只有 10 个字段的简单表格。每行有 1KB 的 ASCII 数据。
  • 请注意,我已为所有测试禁用了 read_repair_chances。
  • 您的查询一致性级别是多少?如果一致性级别更高,则可能有机会降低读取性能。如果副本数为 8,一致性级别为 3,则必须同时查询 3 个副本节点以保持数据一致性。请添加您的列族架构和您的查询。性能也取决于这些参数。
  • 我的读取一致性级别是 ONE。并且写一致性级别是 ALL。 (我对 ALL 进行了写一致性,以确保在加载数据时它也完成复制)。请在评论下方查看架构和查询
【解决方案2】:

确保您也在使用令牌感知客户端。

【讨论】:

    【解决方案3】:

    我可以解决这个问题。 为此,我们需要禁用的 Cassandra 设置是 dclocal_read_repair_chance。尽管据说默认情况下禁用了此设置,但它不在我的实验中。我们还将对象数量减少到 10000 个。 最后,我们实际上可以看到在复制因子 2 和 3 下 80% 读取和 20% 写入访问分布的性能提升。此外,在复制因子 2 下,当 60% 读取和 40% 写入访问分布时,我们看到了性能提升。

    【讨论】:

      猜你喜欢
      • 2021-11-24
      • 2015-02-07
      • 1970-01-01
      • 2018-03-20
      • 2014-08-26
      • 2012-08-24
      • 2023-03-27
      • 2020-05-26
      • 2018-02-15
      相关资源
      最近更新 更多