卡桑德拉高CPU负载问题(3.11.1)

3

我需要帮助解决Cassandra高CPU利用率的问题。

我们有一个12节点的Cassandra集群,规格如下:

  • 8核心
  • 16GB堆/32GB RAM,使用G1GC

突然间,我发现CPU负载很高(8个核心节点约为18-24)。

Cassandra堆栈跟踪显示了很多可运行线程,例如下面的内容。

sun.nio.ch.FileDispatcherImpl.read0(Native Method)
 MessagingService-Incoming-/10.xx.xx.xx
 MessagingService-Incoming-/10.xx.xx.xx
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:192)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
at org.apache.cassandra.io.util.NIODataInputStream.reBuffer(NIODataInputStream.java:66)
at org.apache.cassandra.io.util.RebufferingInputStream.readByte(RebufferingInputStream.java:144)
at org.apache.cassandra.io.util.RebufferingInputStream.readPrimitiveSlowly(RebufferingInputStream.java:108)
at org.apache.cassandra.io.util.RebufferingInputStream.readInt(RebufferingInputStream.java:188)
at org.apache.cassandra.net.IncomingTcpConnection.receiveMessages(IncomingTcpConnection.java:179)
at org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:94)

并且。
"epollEventLoopGroup-2-9": running
at io.netty.channel.epoll.Native.epollWait0(Native Method)
at io.netty.channel.epoll.Native.epollWait(Native.java:117)
at io.netty.channel.epoll.EpollEventLoop.epollWait(EpollEventLoop.java:226)
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:250)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
at java.lang.Thread.run(Thread.java:748)

上述第一个线程出现了35次,第二个线程出现了24次。

有人能够找出问题所在吗?

从集群方面来看,

  • 没有任何未完成的压缩/任务。
  • & GC暂停时间低于100毫秒

谢谢

1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接