From b334c6d8e93928038e63787bba3f40fec78ff68a Mon Sep 17 00:00:00 2001 From: Yang Zhang Date: Wed, 10 Dec 2025 13:46:07 -0800 Subject: [PATCH 1/4] Add unified.cpu-threshold config Signed-off-by: Yang Zhang --- tikv-configuration-file.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tikv-configuration-file.md b/tikv-configuration-file.md index 21882da94e5b..15bc454e7cc9 100644 --- a/tikv-configuration-file.md +++ b/tikv-configuration-file.md @@ -322,6 +322,12 @@ TiKV 配置文件比命令行参数支持更多的选项。你可以在 [etc/con + 是否开启自动调整线程池的大小。开启此配置可以基于当前的 CPU 使用情况,自动调整统一处理读请求的线程池 (UnifyReadPool) 的大小,优化 TiKV 的读性能。目前线程池自动调整的范围为:`[max-thread-count, MAX(4, CPU)]`(上限与 [`max-thread-count`](#max-thread-count) 可设置的最大值相同)。 + 默认值:false +### `cpu-threshold` 从 v8.5.5 版本开始引入 + ++ 这是一个用于控制统一读取池可以占用的最大 CPU 资源比例的参数,如当该配置为 0.8 时,unified read pool 最多可以使用 80% 的 CPU 资源。当设置为 0 时, CPU 使用率不作为主要的限制因素,线程池的规模调整主要依据当前有多少线程正在处理任务。当设置为大于 0 时:在繁忙线程伸缩算法的基础上,增加 CPU 阈值约束。这会更严格地控制资源使用,引入以下机制:1.强制缩减:当 CPU 使用率超过设置的阈值加上 10% 的缓冲时,系统会强制缩小读取池的规模。2.阻止扩增: 当扩大读取池规模会导致 CPU 使用率超过设置的阈值减去 10% 的缓冲时,系统会阻止读取池扩大规模。 ++ 默认值:0.0 ++ 可调整范围:`[0.0, 1.0]` + ## readpool.storage 存储线程池相关的配置项。 From e06bf2c79a5f2c0d3523022609c6da79e99f20f8 Mon Sep 17 00:00:00 2001 From: Yang Zhang Date: Wed, 10 Dec 2025 15:36:06 -0800 Subject: [PATCH 2/4] Resolve comment Signed-off-by: Yang Zhang --- tikv-configuration-file.md | 1 + 1 file changed, 1 insertion(+) diff --git a/tikv-configuration-file.md b/tikv-configuration-file.md index 15bc454e7cc9..78eeddccb7af 100644 --- a/tikv-configuration-file.md +++ b/tikv-configuration-file.md @@ -325,6 +325,7 @@ TiKV 配置文件比命令行参数支持更多的选项。你可以在 [etc/con ### `cpu-threshold` 从 v8.5.5 版本开始引入 + 这是一个用于控制统一读取池可以占用的最大 CPU 资源比例的参数,如当该配置为 0.8 时,unified read pool 最多可以使用 80% 的 CPU 资源。当设置为 0 时, CPU 使用率不作为主要的限制因素,线程池的规模调整主要依据当前有多少线程正在处理任务。当设置为大于 0 时:在繁忙线程伸缩算法的基础上,增加 CPU 阈值约束。这会更严格地控制资源使用,引入以下机制:1.强制缩减:当 CPU 使用率超过设置的阈值加上 10% 的缓冲时,系统会强制缩小读取池的规模。2.阻止扩增: 当扩大读取池规模会导致 CPU 使用率超过设置的阈值减去 10% 的缓冲时,系统会阻止读取池扩大规模。 ++ 仅当 [`readpool.unified.auto-adjust-pool-size`](#auto-adjust-pool-size-从-v630-版本开始引入) 设置为 true 时生效。 + 默认值:0.0 + 可调整范围:`[0.0, 1.0]` From 94f1bb1030e98a761e3b5d0818e1cab837644b5c Mon Sep 17 00:00:00 2001 From: Yang Zhang Date: Wed, 17 Dec 2025 00:10:50 -0800 Subject: [PATCH 3/4] Update tikv-configuration-file.md Co-authored-by: Grace Cai --- tikv-configuration-file.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tikv-configuration-file.md b/tikv-configuration-file.md index 78eeddccb7af..a938c361689a 100644 --- a/tikv-configuration-file.md +++ b/tikv-configuration-file.md @@ -322,7 +322,7 @@ TiKV 配置文件比命令行参数支持更多的选项。你可以在 [etc/con + 是否开启自动调整线程池的大小。开启此配置可以基于当前的 CPU 使用情况,自动调整统一处理读请求的线程池 (UnifyReadPool) 的大小,优化 TiKV 的读性能。目前线程池自动调整的范围为:`[max-thread-count, MAX(4, CPU)]`(上限与 [`max-thread-count`](#max-thread-count) 可设置的最大值相同)。 + 默认值:false -### `cpu-threshold` 从 v8.5.5 版本开始引入 +### `cpu-threshold` 从 v8.5.5 和 v9.0.0 版本开始引入 + 这是一个用于控制统一读取池可以占用的最大 CPU 资源比例的参数,如当该配置为 0.8 时,unified read pool 最多可以使用 80% 的 CPU 资源。当设置为 0 时, CPU 使用率不作为主要的限制因素,线程池的规模调整主要依据当前有多少线程正在处理任务。当设置为大于 0 时:在繁忙线程伸缩算法的基础上,增加 CPU 阈值约束。这会更严格地控制资源使用,引入以下机制:1.强制缩减:当 CPU 使用率超过设置的阈值加上 10% 的缓冲时,系统会强制缩小读取池的规模。2.阻止扩增: 当扩大读取池规模会导致 CPU 使用率超过设置的阈值减去 10% 的缓冲时,系统会阻止读取池扩大规模。 + 仅当 [`readpool.unified.auto-adjust-pool-size`](#auto-adjust-pool-size-从-v630-版本开始引入) 设置为 true 时生效。 From 5948ae8c87c04a6c67e936fa70dc90a72730c7d9 Mon Sep 17 00:00:00 2001 From: Yang Zhang Date: Wed, 17 Dec 2025 23:52:27 -0800 Subject: [PATCH 4/4] Update tikv-configuration-file.md Co-authored-by: Grace Cai --- tikv-configuration-file.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tikv-configuration-file.md b/tikv-configuration-file.md index a938c361689a..df980f024578 100644 --- a/tikv-configuration-file.md +++ b/tikv-configuration-file.md @@ -324,7 +324,11 @@ TiKV 配置文件比命令行参数支持更多的选项。你可以在 [etc/con ### `cpu-threshold` 从 v8.5.5 和 v9.0.0 版本开始引入 -+ 这是一个用于控制统一读取池可以占用的最大 CPU 资源比例的参数,如当该配置为 0.8 时,unified read pool 最多可以使用 80% 的 CPU 资源。当设置为 0 时, CPU 使用率不作为主要的限制因素,线程池的规模调整主要依据当前有多少线程正在处理任务。当设置为大于 0 时:在繁忙线程伸缩算法的基础上,增加 CPU 阈值约束。这会更严格地控制资源使用,引入以下机制:1.强制缩减:当 CPU 使用率超过设置的阈值加上 10% 的缓冲时,系统会强制缩小读取池的规模。2.阻止扩增: 当扩大读取池规模会导致 CPU 使用率超过设置的阈值减去 10% 的缓冲时,系统会阻止读取池扩大规模。 ++ 限制统一处理读请求的线程池 (UnifyReadPool) 可使用的最大 CPU 资源比例。例如,当该值为 `0.8` 时,该线程池最多可使用 80% 的 CPU。 + + 默认情况下(该值为 `0.0` 时),表示不限制 UnifyReadPool 的 CPU 资源比例,该线程池的规模主要根据当前处理任务的线程数量动态调整。 + + 当设置该值大于 `0.0` 时,TiKV 会在原有的繁忙线程伸缩算法基础上,引入以下 CPU 使用率阈值约束,以更严格地控制 CPU 资源使用: + + 强制缩减:当 UnifyReadPool 的CPU 使用率超过该配置项值加上 10% 的缓冲时,TiKV 会强制缩小 UnifyReadPool 的规模。 + + 阻止扩增:当扩大 UnifyReadPool 规模可能导致 CPU 使用率超过配置阈值减去 10% 的缓冲时,TiKV 会阻止 UnifyReadPool 继续扩大规模。 + 仅当 [`readpool.unified.auto-adjust-pool-size`](#auto-adjust-pool-size-从-v630-版本开始引入) 设置为 true 时生效。 + 默认值:0.0 + 可调整范围:`[0.0, 1.0]`