【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】rocksdb的应用线程数怎么查询
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
看grafana里tikv detail→ Thread CPU→Async apply CPU,看apply线程的cpu使用率就行
配置的话,SHOW config WHERE NAME LIKE ‘%apply-pool-size%’
看这就行,默认是2,一般如果上面的使用率达到了200%的话,就可以考虑扩容
2 个赞
这个是决定 rocksdb 的apply 吗 ??
是rocks raft 还是 rocks kvdb ??
- RocksDB 线程池是 RocksDB 进行 Compact 和 Flush 任务的线程池,通常不需要配置。
- 如果机器 CPU 核数较少,可将
rocksdb.max-background-jobs
与raftdb.max-background-jobs
同时设置为 4。 - 如果遇到了 Write Stall,可查看 Grafana 监控上 RocksDB-kv 中的 Write Stall Reason 有哪些指标不为 0。
- 如果是由 pending compaction bytes 相关原因引起的,可将
rocksdb.max-sub-compactions
设置为 2 或者 3(该配置表示单次 compaction job 允许使用的子线程数量,TiKV 4.0 版本默认值为 3,3.0 版本默认值为 1)。 - 如果原因是 memtable count 相关,建议调大所有列的
max-write-buffer-number
(默认为 5)。 - 如果原因是 level0 file limit 相关,建议调大如下参数为 64 或者更高:
- 如果是由 pending compaction bytes 相关原因引起的,可将
- 如果机器 CPU 核数较少,可将
rocksdb.defaultcf.level0-slowdown-writes-trigger
rocksdb.writecf.level0-slowdown-writes-trigger
rocksdb.lockcf.level0-slowdown-writes-trigger
rocksdb.defaultcf.level0-stop-writes-trigger
rocksdb.writecf.level0-stop-writes-trigger
rocksdb.lockcf.level0-stop-writes-trigger
https://docs.pingcap.com/zh/tidb/stable/rocksdb-overview#rocksdb-后台线程与-compact
SHOW config WHERE NAME LIKE ‘%apply-pool-size%’,大佬说的这个可以
这个线程池的 线程数 参数 是那个 ???
apply-pool-size
- Apply 线程池负责把数据落盘至磁盘。该配置项为 Apply 线程池中线程的数量,即 Apply 线程池的大小。调整 Apply 线程池的大小时,请参考 TiKV 线程池调优。
- 默认值:2
- 可调整范围:[1, CPU * 10]
apply是指把raftlog得内容转换为Kv后写到rocksdb
1 个赞
非常感谢!
SHOW config WHERE NAME LIKE ‘%apply-pool-size%’
1 个赞
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。