Skip to content
7 changes: 5 additions & 2 deletions tikv-configuration-file.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,10 @@ TiKV 配置文件比命令行参数支持更多的选项。你可以在 [etc/con
### `grpc-concurrency`

+ gRPC 工作线程的数量。调整 gRPC 线程池的大小时,请参考 [TiKV 线程池调优](/tune-tikv-thread-performance.md#tikv-线程池调优)。
+ 默认值:5
+ 默认值:从 v8.5.4 版本开始,调整为 `grpc-raft-conn-num * 3 + 2`。其中,grpc-raft-conn-num 的默认值可参考[grpc-raft-conn-num](#grpc-raft-conn-num)。

+ 比如,当 CPU 核数为 8 时,`grpc-raft-conn-num` 的默认值为 1,相应地,`grpc-concurrency` 即为 1 * 3 + 2 == 5。

+ 最小值:1

### `grpc-concurrent-stream`
Expand All @@ -171,7 +174,7 @@ TiKV 配置文件比命令行参数支持更多的选项。你可以在 [etc/con
### `grpc-raft-conn-num`

+ TiKV 节点之间用于 Raft 通信的连接最大数量。
+ 默认值:1
+ 默认值:从 v8.5.4 版本开始,调整为`MAX(1, MIN(4, CPU num / 8))`. 其中,`MIN(4, CPU num / 8)` 表示当 CPU 核数大于等于 32 时,默认的最大连接数限制为 4。
+ 最小值:1

### `max-grpc-send-msg-len`
Expand Down
2 changes: 1 addition & 1 deletion tune-tikv-thread-performance.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ TiKV 的读取请求分为两类:

## TiKV 线程池调优

* gRPC 线程池的大小默认配置 (`server.grpc-concurrency`) 是 5。由于 gRPC 线程池几乎不会有多少计算开销,它主要负责网络 IO、反序列化请求,因此该配置通常不需要调整。
* 自 v8.5.4 开始,gRPC 线程池的大小默认配置 (`server.grpc-concurrency`) 将根据 CPU 核数进行自适应调整,具体的自适应配置调整公式请参考[server.grpc-concurrency](/tikv-configuration-file.md#grpc-concurrency)。由于 gRPC 线程池几乎不会有多少计算开销,它主要负责网络 IO、反序列化请求,因此该配置通常不需要调整。

- 如果部署的机器 CPU 核数特别少(小于等于 8),可以考虑将该配置 (`server.grpc-concurrency`) 设置为 2。
- 如果机器配置很高,并且 TiKV 承担了非常大量的读写请求,观察到 Grafana 上的监控 Thread CPU 的 gRPC poll CPU 的数值超过了 server.grpc-concurrency 大小的 80%,那么可以考虑适当调大 `server.grpc-concurrency` 以控制该线程池使用率在 80% 以下(即 Grafana 上的指标低于 `80% * server.grpc-concurrency` 的值)。
Expand Down