Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何找到对Cassandra服务造成压力或负荷的客户?_Cassandra - Fatal编程技术网

如何找到对Cassandra服务造成压力或负荷的客户?

如何找到对Cassandra服务造成压力或负荷的客户?,cassandra,Cassandra,我管理应用程序开发人员使用的Cassandra集群。最近有一种情况,卡桑德拉集群定期(每5分钟)受到压力 如何找出造成压力的客户机(IP)?有几个选项。你 在此期间可以使用nodetool toppartitions(在将来的版本中加载配置文件)。profileload(如果可用)将有助于确定一些场景 可以使用nodetool settraceprobability 0.01或一些较小的百分比,查看system_trace.sessions和events表以查看正在执行的查询 可以使用node

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

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

有几个选项。你

  • 在此期间可以使用
    nodetool toppartitions
    (在将来的版本中加载配置文件)。profileload(如果可用)将有助于确定一些场景
  • 可以使用
    nodetool settraceprobability 0.01
    或一些较小的百分比,查看system_trace.sessions和events表以查看正在执行的查询
  • 可以使用
    nodetool clientstats
    查看已连接的客户端和请求数,因此,如果您在这段时间前后查看,您可能会发现哪个客户端的请求量最大。如果客户机发送大型请求或查询大量内容(即将fetch size设置为100000、选择大量大型blob或一些不好的内容),那么这将更加困难
  • 也可以使用tcpdump或wireshark-有CQL解析器可用

问题也可能是地面军事系统,这最终很可能是由于每5分钟查询一次而导致的,而您希望执行上述操作之一。但检查日志可能有助于立即缩小范围(寻找GCInspector)。查看日志也有助于确定其他事项,例如磁盘是否阻塞并导致备份和GC压力的变化。

从日志中,我了解到哪些键空间和表被大量写入。但我无法找出是哪个客户造成了压力。这是许多开发人员使用的共享集群。如果在每个客户端级别存在每秒写入数或每秒读取数,这将有助于识别罪魁祸首。在4.0中,您可以使用clientstats查找发出最多请求的用户的ip。不过,如果这样做会缩小人员的范围,那么您可能会知道要写入哪些表/分区。如果您在mutationstage中看到的峰值也可能来自磁盘,如果commitlog flusher正在阻止它们,那么我使用的是Cassandra 2.1.x。因此没有客户端统计选项。