tikv CPU 过高

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:v3.0.9
  • 【问题描述】: 调大了tikv的coprocessor和raftstore的 cocurrency 线程数,出现tikv CPU占用较高,在没有事务的情况下,CPU占用在70左右,请问有可能是什么引起的?

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

1.请提供一下 QPS,TPS相关的监控指标 2. 请提供一下修改之前的 Raft store CPU 的监控信息

使用sysbench测试前:

使用sysbench测试oltp_read_write:

image

之前对比过使用默认tikv配置和修改后的参数,tikv的cpu占用率都很高,但是disk util在 50%-60%。

raftstore 线程配置了多少?

[raftstore] raftdb-path = “” region-split-check-diff = “32MB” split-region-check-tick-interval = “15s” store-pool-size = 20 sync-log = true

[coprocessor] region-max-size = “384MB” region-split-size = “256MB”

[rocksdb] max-background-jobs = 32 max-open-files = 65535 wal-dir = “”

[rocksdb.defaultcf] block-size = “64KB” compression-per-level = [“no”, “no”, “no”, “lz4”, “lz4”, “zstd”, “zstd”] max-bytes-for-level-base = “512MB” target-file-size-base = “32MB”

store-pool-size = 20

太高了,线程数不是越高越好的,建议根据监控来调整,比如默认是 2,若 cpu usage 到了 150% 左右可以调整到 4 之类的。监控里 raftstore cpu usage 是单台 TiKV 所有 raftstore 线程之和,20个加起来 70% 并不高。