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 和 v9.0.0 起,调整为 `grpc-raft-conn-num * 3 + 2`。其中,`grpc-raft-conn-num` 的值可参考 [`grpc-raft-conn-num`](#grpc-raft-conn-num)。在 v8.5.3 及之前的版本中,默认值为 5。

+ 例如,当 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 和 v9.0.0 起,调整为 `MAX(1, MIN(4, CPU 核数 / 8))`,其中,`MIN(4, CPU 核数 / 8)` 表示当 CPU 核数大于等于 32 时,默认的最大连接数为 4。在 v8.5.3 及之前的版本中,默认值为 1。
+ 最小值: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 和 v9.0.0 起,gRPC 线程池的默认大小(由 `server.grpc-concurrency` 控制)由固定值 `5` 调整为根据 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