如何找到引起Cassandra服务压力或负载的客户端?

时间:2018-08-28 12:51:28

标签: cassandra

我管理应用程序开发人员使用的Cassandra集群。最近,有一种情况,Cassandra群集会定期(每5分钟)承受压力。

我如何找出造成压力的客户端(IP)?

1 个答案:

答案 0 :(得分:1)

一些选择。你

  • 在此期间可以使用nodetool toppartitions(将来版本中的配置文件加载)。 profileload(如果可用)将有助于确定一些方案。
  • 可以使用nodetool settraceprobability 0.01或一些小的%,并查看system_trace.sessions和events表以查看正在执行的查询。
  • 还可以使用nodetool clientstats查看连接的客户端和请求数量,因此,如果您在这段时间之前和之后进行查看,则可以根据请求量确定哪个客户端对您的影响最大。如果客户端发送大量请求或查询大量内容(例如,将抓取大小设置为100000,选择大量大blob或其他不良内容),则将变得更加困难。
  • 还可以使用tcpdump或wireshk-有可用的CQL解剖器。

问题也可能是GC,最终更可能是由于查询每5分钟命中一次而导致的,而您希望执行上述操作之一。但是检查日志可能有助于立即缩小范围(查找GCInspector)。查看日志对于识别其他问题也很有用,例如磁盘是否阻塞并导致备份和GC压力发生突变。