2

当我的 Web 服务器上的 php 脚本通过专用网络连接到 MySQL 数据库服务器时,我收到间歇性的“连接超时”错误。但是,如果我告诉脚本使用公网连接,则不会出现这些错误。

我的连接脚本已设置,因此每当我尝试连接到 mysql 时,它都会检查错误,如果有错误,它会向我发送一封电子邮件,然后自动切换到公共网络以尝试该连接。如果公共连接失败,它会向我发送另一封电子邮件并向用户显示自定义网页。

我每小时会收到大约 5 到 10 个连接错误。每分钟有数百个成功的连接。

这些机器是专用机器。我联系了我们的托管公司,他们测试了路由器和电缆,说一切都很好。我尝试以两种方式 ping 服务器,并且在一个多小时的测试期间完全没有错误。

我正在使用最新的 Nginx 和最新的 PHP 和 PHP-FPM。mysql是5.5.27。这些是具有最新更新的 Centos 6 64 位系统。

我尝试了许多网络配置选项,调整 php-fpm 和 mysql 配置文件,无论我做什么或更改,都无法修复它。

奇怪的是,在公共网络上一切正常,而在两台机器之间的专用网络上,ping 和文件传输都很好。

有任何想法吗?

** 更新 **

我对 PHP-FPM 配置文件和 MySQL 配置文件进行了一些更改,现在错误大约为每小时 2 到 3 个,但仍未解决。

4

1 回答 1

0

我不确定这是你的情况,但仍然值得一提,因为它在类似的情况下帮助了我。基本上,linux内核中的最大连接数有一个上限:https ://serverfault.com/questions/10852/what-limits-the-maximum-number-of-connections-on-a-linux-server

不确定它是否在所有网络之间共享,但如果您认为值得检查,我只需将这些变量值提高两次,看看它是否对错误发生的频率有任何影响。

于 2012-09-26T16:38:55.407 回答