Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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