diff --git a/best-practices/massive-regions-best-practices.md b/best-practices/massive-regions-best-practices.md index c5dcdde5baa5..87681e98db0c 100644 --- a/best-practices/massive-regions-best-practices.md +++ b/best-practices/massive-regions-best-practices.md @@ -50,6 +50,18 @@ summary: 了解海量 Region 导致性能问题的原因和优化方法。 ![图 3 查看 Propose wait duration](/media/best-practices/propose-wait-duration.png) ++ Raft IO 下的 `Commit log duration` + + `Commit log duration` 是 Raftstore 将 Raft 日志提交到相应 Region 的多数成员所花费的时间。如果该指标的值较高且波动较大,可能的原因有: + + - Raftstore 的负载较高 + - append log 较慢 + - Raft 日志由于网络阻塞无法及时提交 + + 参考值:低于 200-500ms。 + + ![图 4 查看 Commit log duration](/media/best-practices/commit-log-duration.png) + ## 性能优化方法 找到性能问题的根源后,可从以下两个方向来解决性能问题: @@ -131,6 +143,14 @@ Region 默认的大小约为 96 MiB,将其调大也可以减少 Region 个数 > + 查询性能回退,尤其是大范围数据查询的性能会有回退。 > + 调度变慢。 +### 方法七:提高 Raft 通信的的最大连接数 + +TiKV 节点间用于 Raft 通信的最大连接数默认为 1,将其调大可以减少因为海量 Region 通信量过大而导致的阻塞情况。具体的配置说明可以参考 [`grpc-raft-conn-num`](/tikv-configuration-file.md#grpc-raft-conn-num)。 + +> **注意:** +> +> 为了减少不必要的线程切换开销,并避免批量处理效果不佳的影响,该连接数的建议范围为 `[1, 4]`。 + ## 其他问题和解决方案 ### 切换 PD Leader 的速度慢 diff --git a/media/best-practices/commit-log-duration.png b/media/best-practices/commit-log-duration.png new file mode 100644 index 000000000000..de889199aeb6 Binary files /dev/null and b/media/best-practices/commit-log-duration.png differ diff --git a/tikv-configuration-file.md b/tikv-configuration-file.md index 71cd90c8b885..d7804411a90e 100644 --- a/tikv-configuration-file.md +++ b/tikv-configuration-file.md @@ -164,7 +164,7 @@ TiKV 配置文件比命令行参数支持更多的选项。你可以在 [etc/con ### `grpc-raft-conn-num` -+ TiKV 节点之间用于 Raft 通讯的链接最大数量。 ++ TiKV 节点之间用于 Raft 通信的连接最大数量。 + 默认值:1 + 最小值:1