From 5741b07f48770b4010f4d52c10134eae1693234f Mon Sep 17 00:00:00 2001 From: okjiang <819421878@qq.com> Date: Tue, 16 Dec 2025 16:43:34 +0800 Subject: [PATCH 01/15] add doc Signed-off-by: okjiang <819421878@qq.com> --- .../pd-scheduling-best-practices.md | 2 ++ pd-control.md | 21 ++++++++++++++++++- tikv-configuration-file.md | 7 +++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/best-practices/pd-scheduling-best-practices.md b/best-practices/pd-scheduling-best-practices.md index 2b9681d151c0..ca35ff68eec6 100644 --- a/best-practices/pd-scheduling-best-practices.md +++ b/best-practices/pd-scheduling-best-practices.md @@ -299,6 +299,8 @@ Region Merge 速度慢也很有可能是受到 limit 配置的限制(`merge-sc 自 v5.2.0 起,TiKV 引入了慢节点检测机制。通过对 TiKV 中的请求进行采样,计算出一个范围在 1~100 的分数。当分数大于等于 80 时,该 TiKV 节点会被设置为 slow 状态。可以通过添加 [`evict-slow-store-scheduler`](/pd-control.md#scheduler-show--add--remove--pause--resume--config--describe) 来针对慢节点进行对应的检测和调度。当检测到有且只有一个 TiKV 节点为慢节点,并且该 TiKV 的 slow score 到达限定值(默认 80)时,将节点上的 Leader 驱逐(其作用类似于 `evict-leader-scheduler`)。 +自 v8.5.5 起,TiKV 引入了网络的慢节点检测机制。与磁盘一样,通过在 TiKV 之间进行网络探测,计算出分数,再由分数来判断节点的网络师傅出现问题。可以通过 [`enable-network-slow-store`](/pd-control.md#scheduler-config-evict-slow-store-scheduler) 来开启。 + > **注意:** > > **Leader 驱逐**是通过 PD 向 TiKV 慢节点发送调度请求,然后 TiKV 按时间顺序执行收到的调度请求来完成的。受 **I/O 慢**或者其他因素的影响,慢节点可能存在请求堆积的情况,使得部分 Leader 需要等待滞后的请求处理完后才能处理 **Leader 驱逐**的请求,造成 **Leader 驱逐**的整体时间过长。因此,在开启 `evict-slow-store-scheduler` 时,建议同步配置[`store-io-pool-size`](/tikv-configuration-file.md#store-io-pool-size-从-v530-版本开始引入) 以缓解该情况。 \ No newline at end of file diff --git a/pd-control.md b/pd-control.md index a87acc586f1e..eaca51c9c850 100644 --- a/pd-control.md +++ b/pd-control.md @@ -1158,7 +1158,7 @@ pd-ctl resource-manager config controller set ltb-max-wait-duration 30m >> scheduler config evict-leader-scheduler // v4.0.0 起,展示该调度器具体在哪些 store 上 >> scheduler config evict-leader-scheduler add-store 2 // 为 store 2 添加 leader 驱逐调度 >> scheduler config evict-leader-scheduler delete-store 2 // 为 store 2 移除 leader 驱逐调度 ->> scheduler add evict-slow-store-scheduler // 当有且仅有一个 slow store 时将该 store 上的所有 Region 的 leader 驱逐出去 +>> scheduler add evict-slow-store-scheduler // 自动检测磁盘或网络慢节点,并在满足条件时将该 store 上的所有 Region leader 驱逐出去 >> scheduler remove grant-leader-scheduler-1 // 把对应的调度器删掉,`-1` 对应 store ID >> scheduler pause balance-region-scheduler 10 // 暂停运行 balance-region 调度器 10 秒 >> scheduler pause all 10 // 暂停运行所有的调度器 10 秒 @@ -1182,6 +1182,25 @@ pd-ctl resource-manager config controller set ltb-max-wait-duration 30m - `pending`:表示当前调度器无法产生调度。`pending` 状态的调度器,会返回一个概览信息,来帮助用户诊断。概览信息包含了 store 的一些状态信息,解释了它们为什么不能被选中进行调度。 - `normal`:表示当前调度器无需进行调度。 +### `scheduler config evict-slow-store-scheduler` + +`evict-slow-store-scheduler` 用于在 TiKV 节点出现磁盘 I/O 或网络抖动时,阻断 PD 向异常节点调度 leader,并在必要时主动驱逐 leader。TiKV 会在 store 心跳中同时上报 `SlowScore`(磁盘)与 `NetworkSlowScore`(网络),分值范围均为 1~100,数值越大代表该节点越可能异常。 + +你可以通过 `recovery-duration` 来控制慢节点恢复正常的时间。 + +示例: + +```bash +>> scheduler config evict-slow-store-scheduler // 查看当前配置 +{ + "recovery-duration": "1800" // 30 分钟 +} +>> scheduler config evict-slow-store-scheduler set recovery-duration 600 +``` + +当你需要开启网络的慢节点探测时,可以通过 `scheduler config evict-slow-store-scheduler set enable-network-slow-store true` 来开启。 +当你需要直接关闭 tikv 内部的网络探测时,可将 TiKV 侧 [`raftstore.inspect-network-interval`](/tikv-configuration-file.md#inspect-network-interval) 设置为 `0`。 + ### `scheduler config balance-leader-scheduler` 用于查看和控制 `balance-leader-scheduler` 策略。 diff --git a/tikv-configuration-file.md b/tikv-configuration-file.md index 21882da94e5b..408026c12230 100644 --- a/tikv-configuration-file.md +++ b/tikv-configuration-file.md @@ -1105,6 +1105,13 @@ raftstore 相关的配置项。 + 默认值:100ms + 最小值:1ms +### `inspect-network-interval` + ++ 控制 TiKV HealthChecker 主动向 PD 以及其他 TiKV 节点发起网络探测的周期,用于计算 `NetworkSlowScore` 并向 PD 上报慢节点的网络状态。 ++ 设置为 `0` 表示关闭网络探测。数值越小,采样频率越高,能够更快放大网络抖动,但也会消耗更多网络与 CPU 资源。 ++ 默认值:100ms ++ 取值范围:0 或 `[10ms, +∞)` + ### `raft-write-size-limit` 从 v5.3.0 版本开始引入 + 触发 Raft 数据写入的阈值。当数据大小超过该配置项值,数据会被写入磁盘。当 `store-io-pool-size` 的值为 `0` 时,该配置项不生效。 From 44bfca2475caf0df8951f929f403a2f8f72c400f Mon Sep 17 00:00:00 2001 From: okjiang <819421878@qq.com> Date: Wed, 17 Dec 2025 11:16:17 +0800 Subject: [PATCH 02/15] move place Signed-off-by: okjiang <819421878@qq.com> --- tikv-configuration-file.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tikv-configuration-file.md b/tikv-configuration-file.md index 408026c12230..a648154ca1d9 100644 --- a/tikv-configuration-file.md +++ b/tikv-configuration-file.md @@ -283,6 +283,13 @@ TiKV 配置文件比命令行参数支持更多的选项。你可以在 [etc/con + 设置服务与转发请求的连接池大小。设置过小会影响请求的延迟和负载均衡。 + 默认值:4 +### `inspect-network-interval` 从 v8.5.5 和 v9.0.0 版本开始引入 + ++ 控制 TiKV HealthChecker 主动向 PD 以及其他 TiKV 节点发起网络探测的周期,用于计算 `NetworkSlowScore` 并向 PD 上报慢节点的网络状态。 ++ 设置为 `0` 表示关闭网络探测。数值越小,采样频率越高,能够更快放大网络抖动,但也会消耗更多网络与 CPU 资源。 ++ 默认值:100ms ++ 取值范围:0 或 `[10ms, +∞)` + ## readpool.unified 统一处理读请求的线程池相关的配置项。该线程池自 4.0 版本起取代原有的 storage 和 coprocessor 线程池。 @@ -1105,13 +1112,6 @@ raftstore 相关的配置项。 + 默认值:100ms + 最小值:1ms -### `inspect-network-interval` - -+ 控制 TiKV HealthChecker 主动向 PD 以及其他 TiKV 节点发起网络探测的周期,用于计算 `NetworkSlowScore` 并向 PD 上报慢节点的网络状态。 -+ 设置为 `0` 表示关闭网络探测。数值越小,采样频率越高,能够更快放大网络抖动,但也会消耗更多网络与 CPU 资源。 -+ 默认值:100ms -+ 取值范围:0 或 `[10ms, +∞)` - ### `raft-write-size-limit` 从 v5.3.0 版本开始引入 + 触发 Raft 数据写入的阈值。当数据大小超过该配置项值,数据会被写入磁盘。当 `store-io-pool-size` 的值为 `0` 时,该配置项不生效。 From 5ced6dc2806e88789f9caaf58a68ed63376b4bdf Mon Sep 17 00:00:00 2001 From: okJiang <819421878@qq.com> Date: Wed, 17 Dec 2025 11:18:30 +0800 Subject: [PATCH 03/15] Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- best-practices/pd-scheduling-best-practices.md | 2 +- pd-control.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/best-practices/pd-scheduling-best-practices.md b/best-practices/pd-scheduling-best-practices.md index ca35ff68eec6..e21b6f4c1ac9 100644 --- a/best-practices/pd-scheduling-best-practices.md +++ b/best-practices/pd-scheduling-best-practices.md @@ -299,7 +299,7 @@ Region Merge 速度慢也很有可能是受到 limit 配置的限制(`merge-sc 自 v5.2.0 起,TiKV 引入了慢节点检测机制。通过对 TiKV 中的请求进行采样,计算出一个范围在 1~100 的分数。当分数大于等于 80 时,该 TiKV 节点会被设置为 slow 状态。可以通过添加 [`evict-slow-store-scheduler`](/pd-control.md#scheduler-show--add--remove--pause--resume--config--describe) 来针对慢节点进行对应的检测和调度。当检测到有且只有一个 TiKV 节点为慢节点,并且该 TiKV 的 slow score 到达限定值(默认 80)时,将节点上的 Leader 驱逐(其作用类似于 `evict-leader-scheduler`)。 -自 v8.5.5 起,TiKV 引入了网络的慢节点检测机制。与磁盘一样,通过在 TiKV 之间进行网络探测,计算出分数,再由分数来判断节点的网络师傅出现问题。可以通过 [`enable-network-slow-store`](/pd-control.md#scheduler-config-evict-slow-store-scheduler) 来开启。 +自 v8.5.5 起,TiKV 引入了网络的慢节点检测机制。与磁盘慢节点检测类似,通过在 TiKV 节点之间进行网络探测并计算分数,来判断节点的网络是否出现异常。可以通过 [`enable-network-slow-store`](/pd-control.md#scheduler-config-evict-slow-store-scheduler) 来开启。 > **注意:** > diff --git a/pd-control.md b/pd-control.md index eaca51c9c850..cb3612de2f6e 100644 --- a/pd-control.md +++ b/pd-control.md @@ -1198,7 +1198,7 @@ pd-ctl resource-manager config controller set ltb-max-wait-duration 30m >> scheduler config evict-slow-store-scheduler set recovery-duration 600 ``` -当你需要开启网络的慢节点探测时,可以通过 `scheduler config evict-slow-store-scheduler set enable-network-slow-store true` 来开启。 +要启用网络慢节点探测,你需要同时进行以下配置:首先,通过 `scheduler config evict-slow-store-scheduler set enable-network-slow-store true` 在 PD 侧开启调度器对网络慢节点的处理;其次,确保 TiKV 侧的 [`raftstore.inspect-network-interval`](/tikv-configuration-file.md#inspect-network-interval) 配置项大于 `0` 以启用网络探测。若要直接关闭 TiKV 内部的网络探测,可将该配置项设置为 `0`。 当你需要直接关闭 tikv 内部的网络探测时,可将 TiKV 侧 [`raftstore.inspect-network-interval`](/tikv-configuration-file.md#inspect-network-interval) 设置为 `0`。 ### `scheduler config balance-leader-scheduler` From c3069cdc0eb38e7c4ebfcdd068f5dfb9b94de6d3 Mon Sep 17 00:00:00 2001 From: okJiang <819421878@qq.com> Date: Thu, 18 Dec 2025 00:10:28 +0800 Subject: [PATCH 04/15] Update best-practices/pd-scheduling-best-practices.md Co-authored-by: lucasliang --- best-practices/pd-scheduling-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/best-practices/pd-scheduling-best-practices.md b/best-practices/pd-scheduling-best-practices.md index e21b6f4c1ac9..cee5b9b11ccd 100644 --- a/best-practices/pd-scheduling-best-practices.md +++ b/best-practices/pd-scheduling-best-practices.md @@ -299,7 +299,7 @@ Region Merge 速度慢也很有可能是受到 limit 配置的限制(`merge-sc 自 v5.2.0 起,TiKV 引入了慢节点检测机制。通过对 TiKV 中的请求进行采样,计算出一个范围在 1~100 的分数。当分数大于等于 80 时,该 TiKV 节点会被设置为 slow 状态。可以通过添加 [`evict-slow-store-scheduler`](/pd-control.md#scheduler-show--add--remove--pause--resume--config--describe) 来针对慢节点进行对应的检测和调度。当检测到有且只有一个 TiKV 节点为慢节点,并且该 TiKV 的 slow score 到达限定值(默认 80)时,将节点上的 Leader 驱逐(其作用类似于 `evict-leader-scheduler`)。 -自 v8.5.5 起,TiKV 引入了网络的慢节点检测机制。与磁盘慢节点检测类似,通过在 TiKV 节点之间进行网络探测并计算分数,来判断节点的网络是否出现异常。可以通过 [`enable-network-slow-store`](/pd-control.md#scheduler-config-evict-slow-store-scheduler) 来开启。 +自 v8.5.5 起,TiKV 引入了网络的慢节点检测机制。与磁盘慢节点检测类似,该机制通过在 TiKV 节点之间进行网络延时探测并计算分数,来判断节点的网络是否出现异常。可以通过 [`enable-network-slow-store`](/pd-control.md#scheduler-config-evict-slow-store-scheduler) 来开启。 > **注意:** > From d318e220fa8f611da0c07844267c8a2917ff9040 Mon Sep 17 00:00:00 2001 From: okjiang <819421878@qq.com> Date: Sun, 4 Jan 2026 18:16:37 +0800 Subject: [PATCH 05/15] fix comment Signed-off-by: okjiang <819421878@qq.com> --- pd-control.md | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/pd-control.md b/pd-control.md index eaca51c9c850..87ffca22b26f 100644 --- a/pd-control.md +++ b/pd-control.md @@ -1184,23 +1184,39 @@ pd-ctl resource-manager config controller set ltb-max-wait-duration 30m ### `scheduler config evict-slow-store-scheduler` -`evict-slow-store-scheduler` 用于在 TiKV 节点出现磁盘 I/O 或网络抖动时,阻断 PD 向异常节点调度 leader,并在必要时主动驱逐 leader。TiKV 会在 store 心跳中同时上报 `SlowScore`(磁盘)与 `NetworkSlowScore`(网络),分值范围均为 1~100,数值越大代表该节点越可能异常。 +`evict-slow-store-scheduler` 用于在 TiKV 节点出现磁盘 I/O 或网络抖动时,限制 PD 向异常节点调度 Leader,并在必要时主动驱逐 Leader,以降低慢节点对集群的影响。 -你可以通过 `recovery-duration` 来控制慢节点恢复正常的时间。 +#### 磁盘慢节点 -示例: +TiKV 会在 store 心跳中向 PD 上报基于磁盘 I/O 情况计算得到的 `SlowScore`(从 v6.2.0 起支持)。该分值范围为 1~100,数值越大表示该节点越可能存在磁盘性能异常。 +对于磁盘慢节点,TiKV 侧的探测以及 PD 侧基于 `evict-slow-store-scheduler` 的调度处理默认开启,无需额外配置。 + +#### 网络慢节点 + +从 v8.5.5 和 v9.0.0 起,TiKV 还支持在 store 心跳中上报基于网络探测结果计算得到的 `NetworkSlowScore`,用于识别网络抖动导致的慢节点。该分值同样为 1~100,数值越大表示网络异常的可能性越高。 + +出于兼容性和资源消耗的考虑,网络慢节点的探测与调度默认关闭。如需启用,你需要同时完成以下配置: + +1. 在 PD 侧开启调度器对网络慢节点的处理: + ```bash + scheduler config evict-slow-store-scheduler set enable-network-slow-store true + ``` +2. 在 TiKV 侧确保 [`raftstore.inspect-network-interval`](/tikv-configuration-file.md#inspect-network-interval) 配置项大于 `0`,以启用网络探测。 + +#### 恢复时间控制 + +你可以通过 `recovery-duration` 参数控制慢节点在被判定为恢复正常前需要保持稳定状态的时间。 + +示例如下: ```bash ->> scheduler config evict-slow-store-scheduler // 查看当前配置 +>> scheduler config evict-slow-store-scheduler { "recovery-duration": "1800" // 30 分钟 } >> scheduler config evict-slow-store-scheduler set recovery-duration 600 ``` -当你需要开启网络的慢节点探测时,可以通过 `scheduler config evict-slow-store-scheduler set enable-network-slow-store true` 来开启。 -当你需要直接关闭 tikv 内部的网络探测时,可将 TiKV 侧 [`raftstore.inspect-network-interval`](/tikv-configuration-file.md#inspect-network-interval) 设置为 `0`。 - ### `scheduler config balance-leader-scheduler` 用于查看和控制 `balance-leader-scheduler` 策略。 From d1c235956975567c3efc49a2a6183b85068dcced Mon Sep 17 00:00:00 2001 From: okJiang <819421878@qq.com> Date: Sun, 4 Jan 2026 18:19:52 +0800 Subject: [PATCH 06/15] Apply suggestion from @qiancai Co-authored-by: Grace Cai --- best-practices/pd-scheduling-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/best-practices/pd-scheduling-best-practices.md b/best-practices/pd-scheduling-best-practices.md index cee5b9b11ccd..b0db18d7b4ba 100644 --- a/best-practices/pd-scheduling-best-practices.md +++ b/best-practices/pd-scheduling-best-practices.md @@ -297,7 +297,7 @@ Region Merge 速度慢也很有可能是受到 limit 配置的限制(`merge-sc 实践中,如果能确定这个节点的故障是不可恢复的,可以立即做下线处理,这样 PD 能尽快补齐副本,降低数据丢失的风险。与之相对,如果确定这个节点是能恢复的,但可能半小时之内来不及,则可以把 `max-store-down-time` 临时调整为比较大的值,这样能避免超时之后产生不必要的副本补充,造成资源浪费。 -自 v5.2.0 起,TiKV 引入了慢节点检测机制。通过对 TiKV 中的请求进行采样,计算出一个范围在 1~100 的分数。当分数大于等于 80 时,该 TiKV 节点会被设置为 slow 状态。可以通过添加 [`evict-slow-store-scheduler`](/pd-control.md#scheduler-show--add--remove--pause--resume--config--describe) 来针对慢节点进行对应的检测和调度。当检测到有且只有一个 TiKV 节点为慢节点,并且该 TiKV 的 slow score 到达限定值(默认 80)时,将节点上的 Leader 驱逐(其作用类似于 `evict-leader-scheduler`)。 +自 v5.2.0 起,TiKV 引入了磁盘的慢节点检测机制。通过对 TiKV 中的请求进行采样,计算出一个范围在 1~100 的分数。当分数大于等于 80 时,该 TiKV 节点会被设置为 slow 状态。可以通过添加 [`evict-slow-store-scheduler`](/pd-control.md#scheduler-show--add--remove--pause--resume--config--describe) 来针对慢节点进行对应的检测和调度。当检测到有且只有一个 TiKV 节点为慢节点,并且该 TiKV 的 slow score 到达限定值(默认 80)时,将节点上的 Leader 驱逐(其作用类似于 `evict-leader-scheduler`)。 自 v8.5.5 起,TiKV 引入了网络的慢节点检测机制。与磁盘慢节点检测类似,该机制通过在 TiKV 节点之间进行网络延时探测并计算分数,来判断节点的网络是否出现异常。可以通过 [`enable-network-slow-store`](/pd-control.md#scheduler-config-evict-slow-store-scheduler) 来开启。 From 938d71b81042ecb58b07c7cdf778fa4b61afcad9 Mon Sep 17 00:00:00 2001 From: okJiang <819421878@qq.com> Date: Sun, 4 Jan 2026 18:20:07 +0800 Subject: [PATCH 07/15] Apply suggestion from @qiancai Co-authored-by: Grace Cai --- best-practices/pd-scheduling-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/best-practices/pd-scheduling-best-practices.md b/best-practices/pd-scheduling-best-practices.md index b0db18d7b4ba..5aa9bdf00838 100644 --- a/best-practices/pd-scheduling-best-practices.md +++ b/best-practices/pd-scheduling-best-practices.md @@ -299,7 +299,7 @@ Region Merge 速度慢也很有可能是受到 limit 配置的限制(`merge-sc 自 v5.2.0 起,TiKV 引入了磁盘的慢节点检测机制。通过对 TiKV 中的请求进行采样,计算出一个范围在 1~100 的分数。当分数大于等于 80 时,该 TiKV 节点会被设置为 slow 状态。可以通过添加 [`evict-slow-store-scheduler`](/pd-control.md#scheduler-show--add--remove--pause--resume--config--describe) 来针对慢节点进行对应的检测和调度。当检测到有且只有一个 TiKV 节点为慢节点,并且该 TiKV 的 slow score 到达限定值(默认 80)时,将节点上的 Leader 驱逐(其作用类似于 `evict-leader-scheduler`)。 -自 v8.5.5 起,TiKV 引入了网络的慢节点检测机制。与磁盘慢节点检测类似,该机制通过在 TiKV 节点之间进行网络延时探测并计算分数,来判断节点的网络是否出现异常。可以通过 [`enable-network-slow-store`](/pd-control.md#scheduler-config-evict-slow-store-scheduler) 来开启。 +自 v8.5.5 和 v9.0.0 起,TiKV 引入了网络的慢节点检测机制。与磁盘慢节点检测类似,该机制通过在 TiKV 节点之间进行网络延时探测并计算分数,来判断节点的网络是否出现异常。可以通过 [`enable-network-slow-store`](/pd-control.md#scheduler-config-evict-slow-store-scheduler) 来开启该机制。 > **注意:** > From 55b6c278e4b0bd4ebffd5b7589b130e4715ff923 Mon Sep 17 00:00:00 2001 From: okJiang <819421878@qq.com> Date: Sun, 4 Jan 2026 18:21:01 +0800 Subject: [PATCH 08/15] Apply suggestion from @qiancai 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 a648154ca1d9..db12a71098c6 100644 --- a/tikv-configuration-file.md +++ b/tikv-configuration-file.md @@ -286,7 +286,7 @@ TiKV 配置文件比命令行参数支持更多的选项。你可以在 [etc/con ### `inspect-network-interval` 从 v8.5.5 和 v9.0.0 版本开始引入 + 控制 TiKV HealthChecker 主动向 PD 以及其他 TiKV 节点发起网络探测的周期,用于计算 `NetworkSlowScore` 并向 PD 上报慢节点的网络状态。 -+ 设置为 `0` 表示关闭网络探测。数值越小,采样频率越高,能够更快放大网络抖动,但也会消耗更多网络与 CPU 资源。 ++ 设置为 `0` 表示关闭网络探测。数值越小,探测频率越高,有助于更快发现和放大网络抖动,但也会消耗更多网络与 CPU 资源。 + 默认值:100ms + 取值范围:0 或 `[10ms, +∞)` From e5a3a6a8c35d4b8d0581f1554be2b31afc2cd532 Mon Sep 17 00:00:00 2001 From: okJiang <819421878@qq.com> Date: Mon, 5 Jan 2026 09:28:00 +0800 Subject: [PATCH 09/15] Update pd-control.md Co-authored-by: Grace Cai --- pd-control.md | 1 + 1 file changed, 1 insertion(+) diff --git a/pd-control.md b/pd-control.md index 87ffca22b26f..9dc6ea9b87cb 100644 --- a/pd-control.md +++ b/pd-control.md @@ -1198,6 +1198,7 @@ TiKV 会在 store 心跳中向 PD 上报基于磁盘 I/O 情况计算得到的 ` 出于兼容性和资源消耗的考虑,网络慢节点的探测与调度默认关闭。如需启用,你需要同时完成以下配置: 1. 在 PD 侧开启调度器对网络慢节点的处理: + ```bash scheduler config evict-slow-store-scheduler set enable-network-slow-store true ``` From 1369832479027c85c3eadbef73af7f2fd8b8801d Mon Sep 17 00:00:00 2001 From: okJiang <819421878@qq.com> Date: Mon, 5 Jan 2026 16:22:09 +0800 Subject: [PATCH 10/15] Update pd-control.md Co-authored-by: Aolin --- pd-control.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pd-control.md b/pd-control.md index 9dc6ea9b87cb..a41ad441118d 100644 --- a/pd-control.md +++ b/pd-control.md @@ -1188,7 +1188,8 @@ pd-ctl resource-manager config controller set ltb-max-wait-duration 30m #### 磁盘慢节点 -TiKV 会在 store 心跳中向 PD 上报基于磁盘 I/O 情况计算得到的 `SlowScore`(从 v6.2.0 起支持)。该分值范围为 1~100,数值越大表示该节点越可能存在磁盘性能异常。 +从 v6.2.0 开始,TiKV 会在 store 心跳中向 PD 上报 `SlowScore`,该分值基于磁盘 I/O 情况计算得出。分值范围为 1~100,数值越大表示该节点越可能存在磁盘性能异常。 + 对于磁盘慢节点,TiKV 侧的探测以及 PD 侧基于 `evict-slow-store-scheduler` 的调度处理默认开启,无需额外配置。 #### 网络慢节点 From 93c795c8e7a16c6ca92f2134007deff50440829a Mon Sep 17 00:00:00 2001 From: okJiang <819421878@qq.com> Date: Mon, 5 Jan 2026 16:22:33 +0800 Subject: [PATCH 11/15] Update pd-control.md Co-authored-by: Aolin --- pd-control.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pd-control.md b/pd-control.md index a41ad441118d..7e330e262b1a 100644 --- a/pd-control.md +++ b/pd-control.md @@ -1194,7 +1194,7 @@ pd-ctl resource-manager config controller set ltb-max-wait-duration 30m #### 网络慢节点 -从 v8.5.5 和 v9.0.0 起,TiKV 还支持在 store 心跳中上报基于网络探测结果计算得到的 `NetworkSlowScore`,用于识别网络抖动导致的慢节点。该分值同样为 1~100,数值越大表示网络异常的可能性越高。 +从 v8.5.5 和 v9.0.0 起,TiKV 支持在 store 心跳中上报 `NetworkSlowScore`,该分值基于网络探测结果计算得出,用于识别网络抖动导致的慢节点。分值范围为 1~100,数值越大表示网络异常的可能性越高。 出于兼容性和资源消耗的考虑,网络慢节点的探测与调度默认关闭。如需启用,你需要同时完成以下配置: From 7c2e86bcba3fb60c8579cf24147e2dc921ca68c2 Mon Sep 17 00:00:00 2001 From: okJiang <819421878@qq.com> Date: Mon, 5 Jan 2026 16:23:14 +0800 Subject: [PATCH 12/15] Update pd-control.md Co-authored-by: Aolin --- pd-control.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pd-control.md b/pd-control.md index 7e330e262b1a..4823f1235436 100644 --- a/pd-control.md +++ b/pd-control.md @@ -1203,7 +1203,8 @@ pd-ctl resource-manager config controller set ltb-max-wait-duration 30m ```bash scheduler config evict-slow-store-scheduler set enable-network-slow-store true ``` -2. 在 TiKV 侧确保 [`raftstore.inspect-network-interval`](/tikv-configuration-file.md#inspect-network-interval) 配置项大于 `0`,以启用网络探测。 + +2. 在 TiKV 侧将 [`raftstore.inspect-network-interval`](/tikv-configuration-file.md#inspect-network-interval) 配置项设置为大于 `0` 的值,以启用网络探测。 #### 恢复时间控制 From 084b0a0dceb63cf25dc055e2d2a04bcd71380a62 Mon Sep 17 00:00:00 2001 From: okJiang <819421878@qq.com> Date: Mon, 5 Jan 2026 16:23:29 +0800 Subject: [PATCH 13/15] Update best-practices/pd-scheduling-best-practices.md Co-authored-by: lucasliang --- best-practices/pd-scheduling-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/best-practices/pd-scheduling-best-practices.md b/best-practices/pd-scheduling-best-practices.md index 5aa9bdf00838..26dbcd3c1265 100644 --- a/best-practices/pd-scheduling-best-practices.md +++ b/best-practices/pd-scheduling-best-practices.md @@ -297,7 +297,7 @@ Region Merge 速度慢也很有可能是受到 limit 配置的限制(`merge-sc 实践中,如果能确定这个节点的故障是不可恢复的,可以立即做下线处理,这样 PD 能尽快补齐副本,降低数据丢失的风险。与之相对,如果确定这个节点是能恢复的,但可能半小时之内来不及,则可以把 `max-store-down-time` 临时调整为比较大的值,这样能避免超时之后产生不必要的副本补充,造成资源浪费。 -自 v5.2.0 起,TiKV 引入了磁盘的慢节点检测机制。通过对 TiKV 中的请求进行采样,计算出一个范围在 1~100 的分数。当分数大于等于 80 时,该 TiKV 节点会被设置为 slow 状态。可以通过添加 [`evict-slow-store-scheduler`](/pd-control.md#scheduler-show--add--remove--pause--resume--config--describe) 来针对慢节点进行对应的检测和调度。当检测到有且只有一个 TiKV 节点为慢节点,并且该 TiKV 的 slow score 到达限定值(默认 80)时,将节点上的 Leader 驱逐(其作用类似于 `evict-leader-scheduler`)。 +自 v5.2.0 起,TiKV 引入了磁盘的慢节点检测机制。通过对 TiKV 中的请求进行采样,计算出一个范围在 1~100 的分数。当分数大于等于 80 时,该 TiKV 节点会被设置为 slow 状态。可以通过添加 [`evict-slow-store-scheduler`](/pd-control.md#scheduler-show--add--remove--pause--resume--config--describe) 来针对慢节点进行对应的调度。当检测到有且只有一个 TiKV 节点为慢节点,并且该 TiKV 的 slow score 到达限定值(默认 80)时,将节点上的 Leader 驱逐(其作用类似于 `evict-leader-scheduler`)。 自 v8.5.5 和 v9.0.0 起,TiKV 引入了网络的慢节点检测机制。与磁盘慢节点检测类似,该机制通过在 TiKV 节点之间进行网络延时探测并计算分数,来判断节点的网络是否出现异常。可以通过 [`enable-network-slow-store`](/pd-control.md#scheduler-config-evict-slow-store-scheduler) 来开启该机制。 From 6bd4b324b61b3cca22b31230f102fb879ce21050 Mon Sep 17 00:00:00 2001 From: okJiang <819421878@qq.com> Date: Tue, 6 Jan 2026 17:40:09 +0800 Subject: [PATCH 14/15] 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 db12a71098c6..289f9d6a2fe7 100644 --- a/tikv-configuration-file.md +++ b/tikv-configuration-file.md @@ -286,7 +286,7 @@ TiKV 配置文件比命令行参数支持更多的选项。你可以在 [etc/con ### `inspect-network-interval` 从 v8.5.5 和 v9.0.0 版本开始引入 + 控制 TiKV HealthChecker 主动向 PD 以及其他 TiKV 节点发起网络探测的周期,用于计算 `NetworkSlowScore` 并向 PD 上报慢节点的网络状态。 -+ 设置为 `0` 表示关闭网络探测。数值越小,探测频率越高,有助于更快发现和放大网络抖动,但也会消耗更多网络与 CPU 资源。 ++ 设置为 `0` 表示关闭网络探测。数值越小,探测频率越高,有助于更快发现网络抖动,但也会消耗更多网络与 CPU 资源。 + 默认值:100ms + 取值范围:0 或 `[10ms, +∞)` From fb7492ac197098a2bee08b52b49a28bd6a876e31 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 13 Jan 2026 11:24:07 +0800 Subject: [PATCH 15/15] fix a broken link --- pd-control.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pd-control.md b/pd-control.md index 4823f1235436..3aff519f2c65 100644 --- a/pd-control.md +++ b/pd-control.md @@ -1204,7 +1204,7 @@ pd-ctl resource-manager config controller set ltb-max-wait-duration 30m scheduler config evict-slow-store-scheduler set enable-network-slow-store true ``` -2. 在 TiKV 侧将 [`raftstore.inspect-network-interval`](/tikv-configuration-file.md#inspect-network-interval) 配置项设置为大于 `0` 的值,以启用网络探测。 +2. 在 TiKV 侧将 [`raftstore.inspect-network-interval`](/tikv-configuration-file.md#inspect-network-interval-从-v855-和-v900-版本开始引入) 配置项设置为大于 `0` 的值,以启用网络探测。 #### 恢复时间控制