【问题标题】:Want to understand the output of tablehistograms想了解表格直方图的输出
【发布时间】:2018-07-31 00:35:13
【问题描述】:

我想了解特定表的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

【问题讨论】:

    标签: cassandra cql nodetool


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • SSTables 列的用途是什么?该列从未见过除零以外的值。
    • 读取过程中接触的 sstable 数量(这意味着版本不同)。 0 表示全部来自 memtables。
    猜你喜欢
    • 2017-07-07
    • 2021-12-26
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多