最近业务出现一个问题,业务是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很少,连接数也不是很多
展开