想了解表格直方图的输出

man*_*ish 2 cql cassandra 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
Run Code Online (Sandbox Code Playgroud)

Chr*_*ink 5

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

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

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

这从我们的输出中意味着什么:

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