Проблемы с высокой загрузкой процессора Cassandra (3.11.1)

Нужна помощь, чтобы решить мои проблемы с высоким использованием ЦП cassandra.

У нас есть 12-ти узловый кластер Cassandra со следующими характеристиками.

  • 8 ядер
  • 16 ГБ HEAP/32 ГБ ОЗУ с G1GC

Внезапно я начал видеть некоторую высокую загрузку процессора (которая составляет около 18-24 на 8 основных узлах)

Трассировка стека 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 вхождения для 2-го потока.

Может кто-нибудь понять, что здесь не так??

Со стороны кластера,

  • Нет ожидающих уплотнений / задач.
  • & GC паузы ниже 100 мс

Спасибо

1 ответ

Я также внезапно почувствовал высокую загрузку ЦП Кассандрой, даже не имея операций чтения/записи. Дальнейшее расследование показало, что это было вызвано неправильной настройкой сборщика метрик Prometheus. Свою историю, как я это узнал, я описал здесь: https://dev.to/stasberkov/cassandra-high-cpu-load-can-be-caused-by-prometheus-misconfiguration-oc0

TLDR: я использовал jvm-tools.

Другие вопросы по тегам