我们有一个运行nginx php5-fpm apc setup的web服务器.但是,我们最近在页面呈现期间遇到了上游连接超时错误和减速.一个快速的php5-fpm重启修复了问题,但我们找不到原因.
我们有另一个web服务器在另一个子域下运行apache2,连接相同的数据库,执行完全相同的工作.但是减速仅发生在nginx-fpm服务器上.我认为php5-fpm或apc可能会导致问题.
日志告诉各种连接超时:
upstream timed out (110: Connection timed out) while connecting to upstream bla bla bla
php5-fpm日志没有显示任何内容.只是孩子开始和结束:
Apr 07 22:37:27.562177 [NOTICE] [pool www] child 29122 started
Apr 07 22:41:47.962883 [NOTICE] [pool www] child 28346 exited with code 0 after 2132.076556 seconds from start
Apr 07 22:41:47.963408 [NOTICE] [pool www] child 29172 started
Apr 07 22:43:57.235164 [NOTICE] [pool www] child 28372 exited with code 0 after 2129.135717 seconds from start
Run Code Online (Sandbox Code Playgroud)
发生错误时加载服务器并且加载avg只有2(2cpus 16cores)并且php5-fpm进程似乎工作正常.
nginx conf:
user www-data;
worker_processes …Run Code Online (Sandbox Code Playgroud) 我们有2个nginx服务器在3个php5-fpm服务器前面以1000reqs /秒的速度运行,并且有TCP连接.我们认为一个nginx服务器就足够了,并将所有流量重定向到它.但是,服务器的服务速度不能超过750reqs/sec.它有千兆以太网,总流量不超过100mbits(Debian 6.0)
我们找不到任何理由,谷歌搜索后发现它可能与TCP问题有关.但是我们似乎不太可能通过这个数量的连接和带宽(大约70mbits/sec)进行任何改变.稍后我们将一半的流量重定向回另一个nginx并再次达到1000reqs /秒.
我们一直在关注nginx错误和访问日志.是否有任何工具或文件可以帮助我们找到问题的解决方案?