如何在ScyllaDB免费版中配置Compaction限流?
在ScyllaDB免费版中配置Compaction限流的方法
ScyllaDB并未沿用Apache Cassandra的compaction_throughput配置项,而是通过以下两种方式配置压缩限流:
1. 全局级配置(所有表共享)
在scylla.yaml配置文件中,使用compaction_throughput_mb_per_sec参数设置全局总压缩吞吐量,单位为MB/s:
- 设置值为
0时表示禁用限流 - 示例配置:
compaction_throughput_mb_per_sec: 64
修改完成后,需要重启ScyllaDB服务使配置生效。
2. 表级配置(针对特定表)
如果需要为单个表单独设置压缩吞吐量限制,可以通过CQL语句修改表的压缩策略参数,支持所有主流压缩策略(SizeTieredCompactionStrategy、LeveledCompactionStrategy、TimeWindowCompactionStrategy等):
ALTER TABLE your_keyspace.your_table WITH compaction = { 'class': 'SizeTieredCompactionStrategy', 'throughput_mb_per_sec': '32' };
- 表级配置的吞吐量上限不能超过全局配置的总吞吐量
- 该配置无需重启服务,执行后立即生效
验证配置生效
可以通过nodetool compactionstats命令查看当前压缩任务的吞吐量情况,确认限流设置是否生效。
内容的提问来源于stack exchange,提问作者JIST
相关产品推荐
相关产品推荐

