【问题标题】:Cassandra throughput descrease when moving from "single data node" to "two data node" cassandra cluster从“单数据节点”迁移到“双数据节点”cassandra 集群时,Cassandra 吞吐量下降
【发布时间】:2018-10-21 14:13:18
【问题描述】:

我有一个数据节点 cassandra 版本 3.11.2 和一个 cassandra c++ 驱动程序版本 2.7。具有 500 000 行的单个数据节点集群。我异步读取数据,然后将数据推送到队列,调度程序使用 cassandra c++ 驱动程序异步写入数据。我有 10 个应用程序线程、10 个 io 线程和 10 个调度线程。我的 TPS 是 38000。

但是我对“两个数据节点”cassandra 集群所做的相同活动都驻留在同一个机架上,并尝试以一致性级别“TWO”进行读写。我的 TPS 下降到 12000。 为什么即使所有配置和客户端二进制文件都相同,我的性能也会如此下降?只需将读取一致性更改为两个并将写入一致性更改为两个。

我需要做更多才能获得 40000 左右的 TPS。我需要添加更多 DATA NODE 吗?

【问题讨论】:

  • 要开始性能分析和故障排除,您可以先查看How to increase Transaction Per Second TPS in Cassandra
  • 另一个有助于提高 TPS(根据 Alex Ott 的建议和关于一致性增加延迟的信息进行扩展)的另一个方面可能是减少应用程序和 IO 线程的数量,这样您就不会耗尽系统资源。这也可能对您看到的性能产生影响,因为 IO 线程将执行系统级调用。

标签: cassandra


【解决方案1】:

TWO 一致性级别意味着当您读取时,您需要从两个节点获取数据,这会增加延迟。写入也是如此 - 当您使用 TWO 写入时,应有 2 个节点确认数据已写入,这也会增加延迟...

我建议阅读 DSE 架构指南中的 following section(最好是完整指南)以了解一致性级别。

【讨论】:

  • 感谢您的回复,两个节点在同一个机架上,读取和写入一致 TWO 增加了太多延迟,以至于我的 TPS 下降到一半以上???
  • 这可能是 - 这取决于硬件、网络等。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-02
  • 1970-01-01
  • 2016-07-28
  • 1970-01-01
  • 1970-01-01
  • 2016-08-14
  • 2020-04-12
相关资源
最近更新 更多