欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-06-04 23:38:49
...
服务频繁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请求的时间过长。

相关标签: php nginx php-fpm