您当前位置:优侠库 > 资讯攻略 >
来源:未知
2020-05-27 09:07:16 浏览: 分类:资讯攻略

MySQL timeout解析

"上帝说,要有网络:然后就超时了& quot

在使用mysql的过程中,你遇到过很多莫名其妙的超时吗?

那么这些超时之后,是代码问题还是不为人知的匠心?

在这一期Out-man中,我们讲述一下我们的MySQL DBA自己的超时。

让我们来看看常见的超时参数和相关解释:

连接超时

mysqld服务器在用错误握手进行响应之前等待连接数据包的秒数。

交互式_超时

服务器在关闭交互式连接之前等待其活动的秒数。

等待_超时

服务器在关闭非交互式连接之前等待其活动的秒数。

网络读取超时

中止读取之前等待来自连接的更多数据的秒数。

网络写入超时

中止写入前等待将块写入连接的秒数。

从上面的解释可以看出,connect_timeout在认证阶段起作用,interactive_timeout和wait_timeout在连接空的空闲阶段起作用,而net_read_timeout和net_write_timeout在连接(查询)的繁忙阶段起作用。

获得MySQL连接是多次握手的结果。除了用户名和密码的匹配验证,还有IP->:HOST-& gt;DNS-& gt;IP验证,任何一步都可能因为网络问题导致线程阻塞。为了防止线程浪费不必要的检查等待,超过connect_timeout的连接请求将被拒绝。

即使没有网络问题,也不能让客户端一直占用连接。对于睡眠状态超过wait_timeout(或interactive_timeout,取决于CLIENT_INTERACTIVE标志)的客户端,MySQL会主动断开连接。

即使连接不处于睡眠状态,即客户端忙于计算或存储数据,MySQL也选择条件等待。在数据包分发过程中,客户端可能没有时间响应(发送、接收或处理数据包太慢)。为了保证连接不在无休止的等待中浪费,MySQL还会选择有条件地主动断开连接(net_read_timeout和net_write_timeout)。

这么多超时足以证明MySQL断开连接有多幸福。愿意断开连接的背后,主要是为了防止服务器的共享资源被某个客户端占用(mysql、mysqldump、page程序等。)一直都是。

关键词:MySQL超时解析

优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。

本文链接:http://www.123down.cn/gonglue/227193.html

攻略资讯
安卓软件
安卓游戏