tidb查询速度较慢

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】
v4.0.6
【问题描述】
集群状态如下:


用户反馈tidb数据库中部分查询较慢,集群中日志如下,包括所有pd,tidb,tikv节点和db的慢查询日志
链接: 百度网盘-链接不存在 密码: 6qo4—

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

可以参考文章,按照读流程排查一下

https://asktug.com/c/newcomer/trouble-shooting

您好,我参考了https://docs.pingcap.com/zh/tidb/v4.0/analyze-slow-queries#分析慢查询的内容,可以确定慢查询是kv导致的,我选了一个慢查询例子


定位到236,240机器5月18日上午11点左右的cpu状况如图


之后怎么继续查慢查询原因呢,文档里后续没有提到了

看你的 wait 比较高,可以先看是否存在热点(可以看看 dashboard 中的 kv 模块下,是否有明显的热点)

您好,dashboard状况如图

另外,我们的集群所有节点都是up的,为什么dashboard显示tidb是0/3?

可以参考这个帖子的方式,把 tikv-detail 的监控(日志对应时间的),导出一份发这贴子上。[FAQ] Grafana Metrics 页面的导出和导入

这个后面版本应该已经修复了(显示问题)

test-cluster-TiKV-Details_2021-05-20T06_15_54.828Z.json (8.1 MB)

问一下,咱们是生产环境还是测试环境?目前看 SQL 慢的原因是 IO 导致的(咱们当前集群的盘是什么盘),而 IO 延迟/负载较高的原因,看 compaction 动作占用较高,可以限制一下 compaction 的流量,来降低这个影响(调整tikv 参数:rate-bytes-per-sec = 30MB )

帮 相同时间段的 tidb-server 和 pd 的监控也帮导出一份,还有disk-performance 也给一下(咱们是 AP 业务吗,都是大 SQL 吗,读写比例方便提供一下不)

测试环境,盘是sata盘。

test-cluster-PD_2021-05-20T07_37_31.321Z.json (598.5 KB) test-cluster-TiDB_2021-05-20T07_37_05.275Z.json (324.3 KB)
test-cluster-Disk-Performance_2021-05-20T07_38_30.477Z.json (114.6 KB)
读写情况大概如图

1、你的盘延迟较高,生产环境建议还是 用 ssd 比较好
2、建议查看是否有无 数据库之外的 程序占用 IO
3、建议调整上面提到的参数,减少 compaction 的影响/或升级到 5.0(5.0 对这个有优化)

收到,我先试试

:smiley:

修改参数后速度有一定的提升,感谢,我们的配置目前暂不支持升级到5.0版本,不知是否还有其他可通过调参优化的方法

其实咱们应该 读写都会收到影响了,但影响的原因是 IO 负载较高,所以本质还是想办法减小 IO 不必要的消耗。上面的参数,只是其中一个 ,
1、咱们还可以查看一下 慢 SQL ,看看慢日志中有没有 total key 较大的 SQL,有的话,可以优化一下
2、根据配置文件中,看看 IO 相关的参数,看一下是否可以调整https://github.com/tikv/tikv/blob/release-4.0/etc/config-template.toml#L449

好的,非常感谢

:ok_hand: