apply duration

【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.5
【复现路径】做过哪些操作出现的问题
tidb写入慢,storage async write duration和apply duration高





请问

  1. 集群负载比较低,cpu使用率不超过50%,相关的pool-size也基本都设置的12,cpu不是瓶颈
  2. apply duration具体是什么过程,是写入到level0 db中么
  3. apply duration慢一般是什么情况引起的(cpu原因已排除),有什么改进措施

【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

检查下 磁盘的 IO

磁盘现在是部分实例是直接使用nvme ssd的,部分实例使用的是由4个nvme盘做成的lvm(串行模式),但是没有很直接的证据说明是lvm的问题

disk-performance界面没什么异常

apply过程是将用户写入的数据从raft db应用到 KV db的过程,也就是真正将用户数据落盘的过程。

这一阶段最主要的操作就是把数据写入磁盘。

所以有下面的排查思路:
1.可以重点分析一下哪些Tikv节点的apply 延迟比较高
2.确认是全部都高,还是部分节点高。然后重点分析磁盘IO情况
3.查找官网相关参数,尝试调整一下apply pool是否有效果

2 个赞

排查的思路也可以参考这篇文章。

https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file#apply-pool-size
apply-pool-size 的优化可以参考下官网介绍:

  • Apply 线程池负责把数据落盘至磁盘。该配置项为 Apply 线程池中线程的数量,即 Apply 线程池的大小。调整 Apply 线程池的大小时,请参考 TiKV 线程池调优
  • 默认值:2
  • 可调整范围:[1, CPU * 10]

学习啊。菜鸟入门。

好的,谢谢

这个过程是日志落盘的过程,与TIKV的写入有关,检查IO与并发情况