我感觉是你这个配置小了。
storage.scheduler-worker-pool-size: 4
如你所说现在是snapshot耗时长。
https://docs.pingcap.com/zh/tidb/stable/dashboard-diagnostics-report#time-consumed-by-each-component
这个页面上可以看到如下图:
红圈处就是snapshot.是属于scheduler_command下面的。
而且
https://docs.pingcap.com/zh/tidb/stable/dashboard-diagnostics-report#time-consumed-by-each-component
scheduler-worker-pool-size
- Scheduler 线程池中线程的数量。Scheduler 线程主要负责写入之前的事务一致性检查工作。如果 CPU 核心数量大于等于 16,默认为 8;否则默认为 4。调整 scheduler 线程池的大小时,请参考 TiKV 线程池调优。
- 默认值:4
- 可调整范围:
[1, MAX(4, CPU)]
。其中,MAX(4, CPU)
表示:如果 CPU 核心数量小于4
,取4
;如果 CPU 核心数量大于4
,则取 CPU 核心数量。
虽然这个推荐配置就是4.但我看你上面几个线程池设置的都比较大胆,也许你的cpu资源比较多。是否可以调的比4大一些,看看效果如何?