在运维过程中,发现集群合并时间过长,可以通过哪些手段提升合并速度?
A. 调大 zone_merge_concurrency
B. 调大 merge_thread_count
C. 开启轮转合并(enable_merge_by_turn)
D. 调小 freeze_trigger_percentage
3 个赞
正确答案:A、B
A. 调大 zone_merge_concurrency
有效
轮转合并模式下,该参数控制同时并发合并的Zone数量,默认1。调大后多个Zone并行合并,缩短整体合并时长。
注意:V4.x 已经移除该参数,考题一般针对V3。
B. 调大 merge_thread_count
有效
控制单OBServer节点上执行合并任务的工作线程数,提升分区合并并发,直接加快合并速度。
V4.x 废弃,改用 compaction_low_thread_score。
C. 开启轮转合并(enable_merge_by_turn)
不能提速,反而拉长整体合并时间
轮转合并核心目标:降低合并对业务的影响(逐个Zone合并、合并Zone切主)。 规则:按顺序轮询Zone,前一批Zone完成才启动下一批,整体耗时更长,不是用来加速合并的手段。
D. 调小 freeze_trigger_percentage
不解决「本次合并执行速度慢」
该参数控制 MemStore 使用阈值,作用是更早触发 Minor Freeze(转储),减少单轮合并堆积的数据量; 无法加快当前正在进行的 Major Merge 的执行速度。它属于预防手段,不是加速正在运行合并的运维手段。
2 个赞