【问题标题】:Uneven CPU load on Cassandra clusterCassandra 集群上的 CPU 负载不均
【发布时间】:2017-03-09 07:03:20
【问题描述】:

我们的 cassandra (3.7) 集群上出现了一些奇怪的负载分布。该集群有 13 个节点,具有 16 个内核和 32G 内存,它在 Apache Usergrid(分叉)之后运行。当我们对应用程序施加(人为)压力时,相同的 3 个节点获得了几乎所有的 CPU 负载,其余节点正常运行。我们无法使用 cassandra-stress 工具创建相同的场景,因为所有负载都是均匀分布的。这些节点的日志也没有什么不同。 gc 日志似乎也相似(运行 G1 gc 以获得高堆内存)。查询来自 Usergrid,我们没有太多控制权。我需要找到问题的指导。 (到目前为止,互联网上没有任何帮助。)我应该去哪里诊断问题?

【问题讨论】:

    标签: cassandra usergrid


    【解决方案1】:

    看起来节点之间的数据/密钥/请求分布不均匀。检查您的分区键是否均匀分布数据,并且您请求的不是相同的键。

    【讨论】:

    • 数据分布实际上是:pastebin.com/a1RBBath。介于 22-24% 之间。
    • 如果您有 RF=3 和 3 个热节点,那么即使您的数据分布均匀,您的请求也可能不会。您可以使用“nodetool toppartitions”查看给定键空间/表对上最热门的读/写分区。
    • 数据可以均匀分布,但如果您请求相同的小密钥集(看起来这是非常小的密钥集),您的请求将发送到相同的服务器。
    • @JeffJirsa 是的,RF=3。我运行了 nodetool toppartitions,但这对我来说没有任何意义。我应该在输出中查看什么?热节点输出中的相同分区?
    • 显然,问题是由计数器表引起的。我们仅针对与计数器相关的请求获得高 CPU 负载。现在我们正在寻找 cassandra 计数器性能问题。
    猜你喜欢
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多