rocksdb的应用线程数怎么查询

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】rocksdb的应用线程数怎么查询
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
image

看grafana里tikv detail→ Thread CPU→Async apply CPU,看apply线程的cpu使用率就行


配置的话,SHOW config WHERE NAME LIKE ‘%apply-pool-size%’
看这就行,默认是2,一般如果上面的使用率达到了200%的话,就可以考虑扩容

2 个赞

image
这个是决定 rocksdb 的apply 吗 ??

是rocks raft 还是 rocks kvdb ??

  • RocksDB 线程池是 RocksDB 进行 Compact 和 Flush 任务的线程池,通常不需要配置。
    • 如果机器 CPU 核数较少,可将 rocksdb.max-background-jobsraftdb.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 或者更高:
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%’,大佬说的这个可以

image
这个线程池的 线程数 参数 是那个 ???

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 天后被自动关闭。不再允许新回复。