【TiDB 使用环境】生产环境
【TiDB 版本】V7.5.6
【问题复现路径】无
【遇到的问题:问题现象及影响】
集群正常运行中突然链接数抖升,检查dashbard中对应时间点的慢查询也没有慢查询。
唯一可疑的是有较多的Sleep的进程。
1、Connection Count中的连接数是服务器的连接数,是tidb节点的连接数,还是进程数?
2、如果获取processlist中Sleep进程执行的sql语句?
【TiDB 使用环境】生产环境
【TiDB 版本】V7.5.6
【问题复现路径】无
【遇到的问题:问题现象及影响】
集群正常运行中突然链接数抖升,检查dashbard中对应时间点的慢查询也没有慢查询。
连接数
Sleep 代表当前未执行 SQL
我看到连接上有digests,能根据这个或者其他找到连接最后执行的语句,或者执行过的语句吗?
现在有大量sleep的连接,不知道是怎么产生的。
连接为了保活,做了心跳探测,Mysql 旧的心跳探测就是执行 Select 1 ,目的是为了保持连接的活跃,但是不执行其他的。在服务端看起来就是一堆sleep
后来的Mysql 为了提升探活的性能,减少损耗改成了 Ping Method
要解决这个问题只能从用户 + IP 判断连接的服务是什么,来进行改善了。
或者减少 connector alive 的时间,断开这些连接
这种问题没有最优解,要从应用侧和服无侧来看