首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >compaction_throughput_mb_per_sec的确切含义是什么?

compaction_throughput_mb_per_sec的确切含义是什么?
EN

Stack Overflow用户
提问于 2016-01-18 09:34:50
回答 1查看 3.4K关注 0票数 4

根据DataStax Cassandra文档链接r.html

compaction_throughput_mb_per_sec (默认情况:16)将整个系统的总吞吐量压缩到指定的总吞吐量。插入数据的速度越快,您就需要更快地压缩以降低SSTable计数。建议的值是写吞吐量的16到32倍(以MB/秒为单位)。将值设置为0将禁用压缩节流。

我对上述文本的字面解释是,如果您正在观察磁盘I/O (mb/s),例如38 mb/s,现在只考虑Cassandra节点上的写负载,那么compaction_throughput_mb_per_sec将被设置为38 * 16 = 608或38 * 32 = 1216,这与压缩策略无关。

如果上面的解释是正确的,那么请让我理解608或1216值在节流压缩和系统总吞吐量的上下文中的实际含义,例如,可以通过扩展下面所提到的策略(默认)来实现。

情节:

根据文档,SizeTieredCompactionStrategy的SizeTieredCompactionStrategy值是6,在本例中它没有变化。平均而言,每个节点的磁盘I/O约为38 mb/s (仅为写操作,没有发生读取操作)。compaction_throughput_mb_per_sec值为16。

值为16的压缩工作流是什么?如果我们把它改为608,那么到底会发生什么变化,什么会受到影响,以及如何影响?

EN

回答 1

Stack Overflow用户

发布于 2017-11-28 11:43:54

让我们重新审视压实的含义。

压缩过程合并键、组合列、清除墓碑、合并SSTables,并在合并的SSTable中创建新的索引。 ..。 compaction_throughput_mb_per_sec参数设计用于大分区,因为压缩控制到整个系统的指定总吞吐量。

参考:配置压缩

为了在混合读写工作负载中保持读取性能,需要减少小SSTables在单个长时间运行压缩过程中积累的趋势。

参考:压路机

因此,在更新时,可以更新编写新的统一SSTables的速度;反过来可以帮助您减少小型SSTables在压缩过程中积累的趋势。

因此,简而言之,当您将compaction_throughput_mb_per_sec的值从16增加到608时,您将增加写入SSTables所需的写入吞吐量,从而减少创建小型SSTables的机会,并最终提高读取性能。

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

https://stackoverflow.com/questions/34851365

复制
相关文章

相似问题

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