1

我们正在生产中运行 cassandra 版本 2.0.9。这是一个 4 节点集群。在过去的几天里,我们正在经历 CPU 利用率的高峰值。您可能会在下图中看到。

最佳

这是 jconsole 输出。 控制台

当我们查看正在消耗大量 CPU 的线程时,我们遇到了 Native Transport 请求,这些线程正在消耗大量 CPU(比如 12%),这是巨大的。

线程堆栈跟踪。 堆栈跟踪

线程信息。 线程信息

线程 CPU%。 螺纹顶部

问题可能是我们应该如何调试它?

为什么大多数 NTR 请求都停留在 BCrypt.java 上?这是问题吗?

几天前集群表现正常,但现在 4 个节点中有 3 个始终处于高 CPU 利用率。

4

1 回答 1

1

您启用了身份验证,它存储 bcrypted 哈希,而不是密码。所以每个请求都需要检查。如果您不断地创建新连接而不是重用经过身份验证的会话,这最终将成为 CPU 问题。会话是长期存在的对象,默认情况下应该是(https://github.com/datastax/php-driver/tree/master/features#persistent-sessions),但如果使用 CGI 或不断创建新进程的东西,您仍然会遇到问题. 也许试试php-fpm

于 2016-09-01T14:32:14.787 回答