情况是这样,有个 mysql 连接,我们用 navicat 打开它其中某个库的随便一张表,很慢很慢,转圈转很久,成功打开一个表后,再打开其他表就很快了,同事们都有这个问题。
打开其他链接库的时候很快,秒开。
然后在后端程序中做 CURD ,连接都很快,没有问题。
看了数据库配置,最大连接数好像也没问题。
1
chenzixue 2022-11-24 12:53:05 +08:00 3
编辑连接->高级->勾选保持连接间隔 30s 差不多就可以了
|
2
wps353 2022-11-24 13:13:51 +08:00 via Android
这个库的表多么?
|
4
cheneydog 2022-11-24 14:27:18 +08:00
我好像也有遇到过
|
5
superrichman 2022-11-24 14:31:40 +08:00
dns 解析卡住了,把 dns 解析相关配置关掉
|
7
bthulu 2022-11-24 18:28:22 +08:00
你们公司的傻叉运维设置了 xx 秒不活动的 tcp 连接直接杀掉
|
8
totoro52 2022-11-24 20:06:39 +08:00
mysql 主动断开连接了,需要重新链接肯定慢
|
9
ksc010 2022-11-24 20:23:22 +08:00
这类软件 一般首次链接的时候会做一些数据库信息方面的查询 就很耗时
|
11
JohnBull 2022-11-24 23:47:57 +08:00
看上去像是 DNS 的问题
|
13
bthulu 2022-11-25 08:35:46 +08:00
@xyl5869 问题其实出在防火墙切断空闲连接时, 并不会通知连接的两端, 导致 navicat 以为连接是正常的, 导致查询超时.
我在想防火墙切断空闲连接的时候, 能不能模拟正常关闭 tcp 连接, 给连接的两端发送关闭通知, 这样就不存在这个问题了. |
14
jellyspot 2022-11-25 09:37:34 +08:00
说啥都是猜,抓包看下最靠谱
|
15
lap510200 2022-11-25 09:58:18 +08:00
没选择心跳连接吧 长时间不用就断了
|