首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodetool cfhistograms输出

nodetool cfhistograms输出
EN

Stack Overflow用户
提问于 2015-10-13 17:38:50
回答 1查看 1.3K关注 0票数 5

当我运行'nodetool cfhistograms‘时,我看到了一个表格数据。

代码语言:javascript
复制
Percentile  SSTables     Write Latency      Read Latency    Partition Size        Cell Count
                              (micros)          (micros)           (bytes)                  
50%             2.00              0.00           8239.00               924                20
75%             4.00              0.00           9887.00              1109                20
95%             4.00              0.00          51012.00              1916                24
98%             4.00              0.00          51012.00              2299                29
99%             4.00              0.00          51012.00              2759                35
Min             0.00              0.00            150.00                73                 2
Max             4.00              0.00          51012.00              3973                60

有人能解释一下这些是如何计算的吗?我理解%le的概念,但我想知道计算上述结果时需要考虑多少读/写操作。

EN

回答 1

Stack Overflow用户

发布于 2018-06-01 05:52:42

现在是nodetool tablehistograms了。每个表都有一个用于读取和写入的直方图,该直方图在本地读/写完成时更新。这不包括等待副本达到一致性级别等的网络时间,即nodetool proxyhistograms

这里有一些历史,它们会随着时间的推移而改变,所以它取决于cassandra的版本来解释输出。几年前,我在here峰会上做了一次演讲,可以解释一些“为什么”。在一段时间内(只有2.1),As直方图是使用指标指数衰减的储层报告的,这是非常不准确的。在2.1之前,cfhistograms图的显示完全不同,但在这一点上不值得一提。

目前,它们由真实的直方图表示,而不是储层(EstimatedHistogram)。这些直方图有固定的桶,每个桶比以前大20%。因为它是固定的,所以存储的值只是一个长atomiclongarray/longadder[] depending on version specifically。它标识哪个存储桶持有该值,因此在更糟糕的情况下,它会报告比实际情况更糟糕的20%。根据该直方图,使用标准机制计算百分位数。

有两个这样的直方图保留下来。一个“一直”直方图和一个“最近”直方图。所有时间直方图是存储桶自Cassandra启动以来不断递增的位置。这可以通过找出它们之间的差异,准确地判断出自上次查看以来在哪个存储桶中发生了多少个事件。这个时刻的直方图应该是被监测和提醒的,因为它是准确的。“最近”直方图forward decays桶的值。然后,较新的值被考虑到比以前的值更多的指数,给出了“大约最后15分钟左右”的视图,而不是真正用于监视,而是临时查看它现在的样子。注意:这个最近的直方图直到3.0.9/3.8才存在,在2.2之间,然后all直方图报告了所有的时间值。

" sstables“列是在一次读取时接触到的稳定数。在CASSANDRA-13120中,“触摸”意味着什么改变了。以前,如果检查sstable上的bloomfilter意味着可能的磁盘IO,那么它只会根据令牌范围和时间戳过滤掉东西。现在,如果bloomfilter从读取中排除了sstable,则不会对其进行计数。然后将其保存在上面提到的两个直方图中,以获得延迟。

Partition Size和Cell Count根据磁盘上的数据生成。每个sstable保存在写入时计算的分区大小和单元计数的直方图。当读取表的这个值时,它合并来自所有sstables的统计信息,以生成这里在百分位数计算中使用的表宽直方图。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33099232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档