最近业务出现一个问题,业务是2台nginx代理+5台php(3台http,2台https)+redis+mysql。但是最近其中一台nginx一直报错connect()failed(110:Connectiontimedout)whileconnectingtoups...

最近业务出现一个问题,业务是2台nginx代理+5台php(3台http,2台https)+redis+mysql。但是最近其中一台nginx一直报错connect() failed (110: Connection timed out) while connecting to upstream。

1.另外一台nginx正常

2.并不是高峰期才出现,有时候一分钟,有时候三分钟,午夜没有用户量的时候也有

3.报错显示nginx对每台php都出现超时,一下这台一下那台

4.max_fails=3 fail_timeout=10s而且php的压力并不大,查了php子进程数也不多,但是也会报错,cpu、内存正常

5.php的超时时间全部设置了900或者3000request_terminate_timeout,php.ini里面也有设置而且如果设计到这边,一般回事while reading to upstream。

6.它的是直接代理到php所有设置,也设置了proxy,也不行

client_header_buffer_size 32k;

large_client_header_buffers 4 32k;

client_max_body_size 128m;

client_body_buffer_size 128k;

fastcgi_connect_timeout 600;

fastcgi_send_timeout 600;

fastcgi_read_timeout 600;

fastcgi_buffer_size 128k;

fastcgi_buffers 16 64k;

fastcgi_busy_buffers_size 256k;

fastcgi_temp_file_write_size 512k;全部设置完成,而且加大也没有用

7.linux内核参数以及limit文件全部设置完成,端口数也绝对够用,系统是centos6.8,php_error并没有什么异常报错

8.php的处理问题个数设置的是5000.调查日志发现有时候报错的时候那台php并没有进程结束

9.time_wait很少,连接数也不是很多

展开

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐