MySQL - 如何诊断警告原因"中止连接 - (读取通信包时超时)"

gb2*_*b2d 8 mysql mysql-error-1064

我在相当繁忙的Windows 2008 R2 Web服务器上运行MySQL时遇到了一些问题.

应用程序间歇性崩溃,并且日志通常指向MySQL作为路由原因,因为应用程序无法连接到MySQL.这并不影响所有用户,只是一些不幸的用户.

打开MySQL中的警告日志记录后,我看到以下警告的重复日志:

[Warning] Aborted connection 7153 to db user: 'XXXX' host: 'XXXXXX' (Got timeout reading communication packets)
Run Code Online (Sandbox Code Playgroud)

这里的文档http://dev.mysql.com/doc/refman/5.0/en/communication-errors.html提出了一系列潜在的网络相关原因.

"高级网络"下的一些配置:

最大数据包大小:128 M(我们从昨天的64 M增加了这个)等待超时:20最大连接数:1000最大连接数:1000重试次数:5

我的问题是,我怎样才能更好地诊断造成这个问题的原因,而不仅仅是玩设置和等待?

提前致谢

gb2*_*b2d 4

这是一个很难解决的问题,但我们最终发现有数千个明显孤立的 TCP 连接打开(使用任务管理器 > 资源监视器),这些连接是由电子邮件发送过程生成的。

由于 MySQL 连接依赖于 TCP,因此数据库服务器受到了影响。