服务频繁499(Nginx+PHP-fpm),应该从哪些角度入手追查这问题?
回复内容:
服务频繁499(Nginx+PHP-fpm),应该从哪些角度入手追查这问题?
499
应该是客户端关闭连接了吧。
一般客户端关闭连接应该是因为等待太久了,所以建议查查PHP处理程序是处理能力是否足够满足需求,适当增加处理进程,减少客户端等待的时间。另外最好通过在nginx
里配置proxy_ignore_client_abort on;
来忽略客户端的断开连接请求,以免程序中断执行造成的异常。
当然还有一种可能是遭受攻击…
1,客户端请求速度慢,通过样本检查一下是否是真慢
2,机器宽带跑满了,请求慢
3,检查 nginx 的超时时间,把时间调长一些,默认应该是60s 吧
client_header_timeout 180s;
client_body_timeout 180s;
499对应的是 “client has closed connection”。这很有可能是因为服务器端处理的时间过长,客户端“不耐烦”了。要解决此问题,就需要在程序上面做些优化了。(有点类似与50*类错误)
rfc2616中,400~500间的错误码仅定义到了417,所以499应该是nginx自己定义的。
源自 http://blog.csdn.net/rainday0310/article/details/8166163
1、499,client has closed connection,代表客户端主动断开了连接,一般是服务器端处理时间太长了,客户端等不了就断开了。还有一种情况是有人攻击,故意消耗服务器资源,使服务器端无法及时处理请求并返回结果。
2、解决办法:一般从php处理进程数、fastcgi执行超时、http转发配置错误等方面进行优化,防止服务器端处理http请求的时间过长。