background_merges_mutations_concurrency_ratio
background_pool_size 设置为 16,那么 ClickHouse 最多可并发执行 32 个后台合并。这之所以可行,是因为后台操作可以被挂起并延后执行。这样做是为了让较小的合并获得更高的执行优先级。
你只能在运行时增大此比率;若要调低,则必须重启服务器。与
background_pool_size 设置类似,出于向后兼容考虑,也可以通过 default profile 应用 background_merges_mutations_concurrency_ratio。background_merges_mutations_scheduling_policy
round_robin 和 shortest_task_first。
用于选择下一项由后台线程池执行的合并或变更的算法。该策略可在运行时更改,无需重启服务器。
为保持向后兼容,也可以通过 default profile 应用。
可能的值:
round_robin— 每个并发的合并和变更都以轮询方式执行,以确保不会发生饥饿。较小的合并会比大的更快完成,仅仅是因为它们需要合并的块更少。shortest_task_first— 始终执行较小的合并或变更。系统会根据结果大小为合并和变更分配优先级。较小的合并会被严格优先于较大的合并。此策略可确保小 parts 尽快完成合并,但在因INSERT而严重过载的分区中,可能导致大型合并长期得不到执行。