想要了解tablehistograms的输出

时间:2018-02-20 15:33:40

标签: cassandra cql nodetool

我想了解特定表的tablehistograms输出以及如何计算集群读/写,整个集群使用此集群延迟或是否有其他方法来计算集群级读/写延迟??

以下是tablehistograms命令的一个输出:

bin/nodetool tablehistograms ks myTable;

Percentile  SSTables     Write Latency      Read Latency    Partition Size        Cell Count
                              (micros)          (micros)           (bytes)                  
50%             0.00             39.50             36.00              1597                42
75%             0.00             49.00             55.00              1597                42
95%             0.00             95.00             82.00              8239               258
98%             0.00            126.84            110.42             17084               446
99%             0.00            155.13            123.71             24601               770
Min             0.00              3.00              3.00              1110                36
Max             0.00          50772.00            314.00            126934              3973

1 个答案:

答案 0 :(得分:4)

表格直方图将为您提供本地读/写的延迟。当请求进入时,协调器会将读取请求或突变分发给副本,这些度量标准就是副本应用突变或检索数据并返回协调器的时间。

nodetool proxyhistograms可能更接近您所寻找的内容,这就是协调员从收到请求(或多或少)到响应(或多或少)时花费的时间。

有关更多详细信息,您可以查询JMX(或您已配置的其他报告者)并获取org.apache.cassandra.metrics:type=Table,keyspace=<Keyspace>,scope=<Table>,name=CoordinatorReadLatency mbean,以查看协调员级别对该特定表的读取时间。

这意味着我们的输出:

  • 对于对您的表的写入,99%的突变在155微秒内应用于副本。
  • 从磁盘读取数据并从协调员返回的内容在99%的时间内完成,中位数为36 us。
  • 99%的分区小于或等于24k,中位数<1.5k
  • 99%的分区有770个或更少的单元格,42个是中位数(连续的每个字段都是一个单元格)