Cassandra群集上的CPU负载不均匀

Cassandra群集上的CPU负载不均匀,cassandra,usergrid,Cassandra,Usergrid,我们在cassandra(3.7)集群上得到了一些奇怪的负载分布。该集群有13个节点,16个核心&32gram,运行在apacheusergrid(forked)后面。当我们对应用程序施加(人为)压力时,相同的3个节点获得几乎所有的CPU负载,其余节点正常运行。我们无法使用cassandra压力工具创建相同的场景,因为所有负载都是均匀分布的。这些节点的日志也没有什么不同。gc日志似乎也类似(运行G1 gc以获得高堆内存)。这些查询来自Usergrid,我们没有太多的控制权。我需要找到问题的指导。

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

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

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

数据分布实际上是均匀的:。它在22-24%之间。如果您有RF=3到3个热节点,那么即使您的数据分布均匀,您的请求也可能不均匀。您可以使用“nodetool toppartitions”查看给定键空间/表对上最热的读/写分区。数据可以均匀分布,但如果您请求相同的一小组键(看起来像是非常小的一组键),您的请求将发送到相同的服务器。@JeffJirsa是的,RF=3。我曾在nodetool TopPartions上发表文章,但这对我来说毫无意义。我应该在输出中看到什么?热节点输出中的相同分区?显然,问题是由计数器表引起的。我们得到的高cpu负载仅用于计数器相关的请求。现在我们正在寻找cassandra计数器的性能问题。数据分布实际上是:。它在22-24%之间。如果您有RF=3到3个热节点,那么即使您的数据分布均匀,您的请求也可能不均匀。您可以使用“nodetool toppartitions”查看给定键空间/表对上最热的读/写分区。数据可以均匀分布,但如果您请求相同的一小组键(看起来像是非常小的一组键),您的请求将发送到相同的服务器。@JeffJirsa是的,RF=3。我曾在nodetool TopPartions上发表文章,但这对我来说毫无意义。我应该在输出中看到什么?热节点输出中的相同分区?显然,问题是由计数器表引起的。我们得到的高cpu负载仅用于计数器相关的请求。现在我们正在寻找卡桑德拉计数器的性能问题。