gpt4 book ai didi

Cassandra nodetool "compactionstats"显示值的含义

转载 作者:行者123 更新时间:2023-12-04 15:34:35 28 4
gpt4 key购买 nike

我找不到有关“compactionstats”的文档:

使用时 nodetool compactionstatscompleted上的数值是什么?和 total列是什么意思?
我的列族的总数据大小约为 360 GB,但我的压缩状态显示:

pending tasks: 7
compaction type keyspace column family completed total unit progress
Compaction Test Message 161257707087 2475323941809 bytes 6.51%

虽然我看到“完成”增长缓慢(也是进展;-)。

但是这个“总数”是如何计算的呢?当我只有 360 GB 的数据时,为什么它是 2.5 TB?

最佳答案

你必须打开压缩。 total是包含正在压缩在一起的 sstable 集的未压缩字节总数。如果您为包含 Compacting 的行 grep cassandra 日志文件你会发现 sstables 是压缩的一部分。如果将这些大小相加并乘以列族的压缩比的倒数,您将非常接近总数。默认情况下,这在多核系统上可能有点难以验证,因为同时压缩的数量默认为内核数量。

您还可以通过查看代码来验证此答案:

AbstractionCompactionIterable - getCompactionInfo()使用 bytesReadtotalBytes来自该类的字段。 totalBytes是最终的,并在构造函数中计算,通过求和 getLengthInBytes()从属于压缩的每个文件。

扫描器各不相同,但 CompressedRandomAccessReader 返回的字节长度是文件的未压缩大小。

关于Cassandra nodetool "compactionstats"显示值的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21117968/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com