服务频繁499(Nginx+PHP-fpm),应该从哪些角度入手追查这问题?

TIGERB
  • 9.4k

服务频繁499(Nginx+PHP-fpm),应该从哪些角度入手追查这问题?

回复
阅读 7.1k
4 个回答

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请求的时间过长。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏