tidb主键查询时快时慢

【 TiDB 使用环境】生产环境
【 TiDB 版本】v4.0.8
【遇到的问题:问题现象及影响】
线上tidb集群,同一条SQL语句,主键查询,只有一个执行计划,表健康度97,正常查询时间毫秒级,但是会突然达到5、6秒,有时候甚至达到10几秒
【资源配置】CPU为56C,192G内存,nvme磁盘,70个tikv节点
【附件:截图/日志/监控】
正常执行计划


执行时间长时执行计划:


请大神指教。

在dashboard里 找下慢的时候的SQL实际执行计划 执行时间 事务类的统计

这个集群没有开dashboard。我图片里面贴的执行计划是从慢查询日志拿出来的实际的执行计划。

查询变慢的时间区间,看看集群的监控有没有不一样的地方,先定位到是tidb还是tikv 的问题然后再继续看

看你贴的执行计划,在执行loops3时tikv 出现了多次backoff 重试,延迟从194ms变为了5s,这里就是导致访问延迟增加的地方。排查的方向就是看下当时tikv 的情况,可以分析下集群有没有网络延迟、GC、或者锁冲突、写热点等情况

1 个赞

tikvRPC_backoff:RPC 请求失败后,会在等待 backoff 的时间后重试,包括了 backoff 的类型(如 regionMiss,tikvRPC),backoff 等待的总时间 (total_time) 和 backoff 的总次数 (num)。
可以看下tidb和tikv的日志,对应时间段是否有读写冲突

2 个赞

也可以看下io,之前遇到过io波动导致的

这种情况我觉得可能网络有丢包,其他语句有类似现象吗

另一个思路,数据分布不均匀

执行计划对比,资源对比,io,锁(qps,数据库压力情况)

如果机器性能没问题,看是不是数据热点问题,id是随机的还是自增的,regin数据没有分散在各个kv节点上

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。