tidb查询慢

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
V5.0.0
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
出现问题,毫秒级返回的业务SQL也变成3s左右,系统查询SQL慢,tp999普遍超过2s
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面

【附件:截图/日志/监控】
系统内部SQL


业务SQL

内部 SQL 不用管

系统表查询慢,一般不用管,我记得高版本做了优化,系统表查询慢

两个tidb-server节点都慢吗?看着你的链接非常不均衡啊。。。

业务SQL情况


主机看性能指标也没什么问题
image

用了haproxy轮询2个TIDB,前天重启了一个tidb节点,那台是tp999是变正常了,但是这一台没重启的tp999又上来了,我在想是不是请求因为重启tidb而去了另外一台,重启没解决问题
重启tidb后


未重启的TIDB

你测试下你的代理负载均衡 是不是均衡的配置

用的是官方文档的haproxy配置

listen tidb-cluster # 配置 database 负载均衡。
bind 0.0.0.0:3306 # 浮动 IP 和 监听端口。
mode tcp # HAProxy 要使用第 4 层的传输层。
balance leastconn # 连接数最少的服务器优先接收连接。leastconn 建议用于长会话服务,例如 LDAP、SQL、TSE 等,而不是短会话协议,如 HTTP。该算法是动态的,对于启动慢的服务器,服务器权重会在运行中作调整。
server tidb-1 192.168.1.2:4000 check inter 2000 rise 2 fall 3 # 检测 4000 端口,检测频率为每 2000 毫秒一次。如果 2 次检测为成功,则认为服务器可用;如果 3 次检测为失败,则认为服务器不可用。
server tidb-2 192.168.1.3:4000 check inter 2000 rise 2 fall 3

但从你这个sql执行计划看着问题不大啊,你这个是在哪个tidb-server执行的,你可以从dashboard找一个慢sql,然后分别在两个tidb-server执行下,看是不是tidb-server的问题。

除了系统sql其他的没问题就差不多

其他也有问题 :joy: 但只是时不时的,重启完其中一个tp999超2s告警是有所好转

试过2个tidb去手动执行 都很快

集群 整体 qps 是多少? 99 , 80 duration 有波动吗?

业务sql的执行计划的execution info可以再截全一些看看吗,然后看看dashboard下面的cop读取和事务那块有没有耗时多的情况。然后看看你的tidb集群统计信息是不是最新的,执行analyze试试

如果只是时不时的有没有可能是瞬时流量过高,产生了访问热点造成的?这个可以分析一下规律,查看一下具体SQL实用的业务场景等,具体分析一下