你的位置:面向PHP >> 资讯 >> 数据库 >> Mysql >> 详细内容 在线投稿

MySQL Timeout解析

热度89票  浏览23次 【共0条评论】【我要评论 时间:2010年2月06日 16:06
文章信息

来源:转载

BpE8\&o0“And God said, Let there be network: and there was timeout”面向PHP0O{"ZE_z{Dd,^^
在使用MySQL的过程中,你是否遇到了众多让人百思不得其解的Timeout?面向PHP [6J)C&D,\b
那么这些Timeout之后,到底是代码问题,还是不为人知的匠心独具?
M%lv/m9@(?l!j0 本期Out-man,讲述咱们MySQL DBA自己的Timeout。面向PHPY5jRO0}-t bc S-Q
面向PHPm!YpV&R%M?
先看一下比较常见的Timeout参数和相关解释:
0ZH:QL:]'Q4Rhq(I0 connect_timeout
Z8{)k? b|0 The number of seconds that the mysqld server waits for a connect packet before responding with Bad handshake.面向PHP3y$bNV$n D`.o
interactive_timeout面向PHPH!\NJT/f
The number of seconds the server waits for activity on an interactive connection before closing it.
.x ^m l#l0U2^y0 wait_timeout
K p.jRE6J-l4@p-L0 The number of seconds the server waits for activity on a noninteractive connection before closing it.
r4E:b6IJ0MU0 net_read_timeout
+Af2X-T\h/]*F!l0 The number of seconds to wait for more data from a connection before aborting the read.面向PHP-z'Ojs3M
net_write_timeout面向PHP2S W-a6sC L e
The number of seconds to wait for a block to be written to a connection before aborting the write.

C C |-D_-k0

*I{P2P1^0从以上解释可以看出,connect_timeout在获取连接阶段(authenticate)起作用,interactive_timeout 和wait_timeout在连接空闲阶段(sleep)起作用,而net_read_timeout和net_write_timeout则是在连接繁 忙阶段(query)起作用。

\k5UD9hg0 面向PHP{ \O&Bb

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

%s,Qz^q*N\_0 面向PHPC(z9G{6nLX

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

8\I*G_z$Q0 面向PHPYA5zd/Cj/J|

即使连接没有处于sleep状态,即客户端忙于计算或者存储数据,MySQL也选择了有条件的等待。在数据包的分发过程中,客户端可能来不及响应 (发送、接收、或者处理数据包太慢)。为了保证连接不被浪费在无尽的等待中,MySQL也会选择有条件(net_read_timeout和 net_write_timeout)地主动断开连接。面向PHP ztM/zIt'W$t

T9sk5Qe L"O j0这么多Timeout足以证明MySQL是多么乐于断开连接。而乐于断开连接的背后,主要是为了防止服务端共享资源被某客户端(mysql、 mysqldump、页面程序等)一直占用。

9B"CW c ]`0
TAG: MYSQL MySQL Mysql mysql MySql 解析 Timeout
顶:11 踩:5
对本文中的事件或人物打分:
当前平均分:-0.42 (24次打分)
对本篇资讯内容的质量打分:
当前平均分:-1.29 (24次打分)
【已经有25人表态】
7票
感动
2票
路过
2票
高兴
1票
难过
7票
搞笑
1票
愤怒
3票
无聊
2票
同情
上一篇 下一篇
发表评论

网友评论仅供网友表达个人看法,并不表明本网同意其观点或证实其描述。

查看全部回复【已有0位网友发表了看法】