tikvcpu打高

各位老师,tikv组件 cpu打高有没有比较系统的排查思路或者文档了。

1 个赞

可以看看dashboard里的慢SQL按照io排序,以及火焰图看看是哪个对象io大。

1 个赞

tikv的话,优化大sql就行

1 个赞

kv节点cpu高 大概率是sql造成的,去dashboard的topsql看下那些sql占用资源多

1 个赞

那 tidbserver cpu高也基本上是topsql的原因吗

除了cpu 高还有没有其他的排查思路,或者问题的可能性了

我在官方文档看到这些thread cpu, tikvcpu高是不是和这些thread cpu高有关?

是的,因为tikv的的线程池基本就grpc,scheduler,raftstore,apply,rocksdb,unifyreadpool几类,tikv cpu高,这几个线程肯定有高的。
如果读请求多导致的高,那么unifyreadpool这个肯定高
如果是写请求导致的高,那么rocksdb或者raftstore,sotrewriter这些可能高

优先排查慢查询,确认不是慢查询导致的,再排查别的因素

大佬 ,下面这些线程池中unified 高是读慢,其他线程池使用率高分别是什么场景了

  • Raft store CPU:raftstore 线程的 CPU 使用率,通常应低于 80% * raftstore.store-pool-size
  • Async apply CPU:async apply 线程的 CPU 使用率,通常应低于 90% * raftstore.apply-pool-size
  • Store writer CPU:async io 线程的 CPU 使用率,通常应低于 90% * raftstore.store-io-pool-size
  • gRPC poll CPU:gRPC 线程的 CPU 使用率,通常应低于 80% * server.grpc-concurrency
  • Scheduler worker CPU:scheduler worker 线程的 CPU 使用率,通常应低于 90% * storage.scheduler-worker-pool-size
  • Storage ReadPool CPU:storage read pool 线程的 CPU 使用率
  • Unified read pool CPU:unified read pool 线程的 CPU 使用率
  • RocksDB CPU:RocksDB 线程的 CPU 使用率
  • Coprocessor CPU:coprocessor 线程的 CPU 使用率
1 个赞

现在就是想知道除了TOPsql 的其他排查思路


https://docs.pingcap.com/zh/tidb/stable/tune-tikv-thread-performance/

2 个赞

感谢大佬 :grinning: