Frequent service 499 (Nginx+PHP-fpm), from what angle should we start to investigate this problem?
Frequent service 499 (Nginx+PHP-fpm), from what angle should we start to investigate this problem?
499
It should be that the client has closed the connection.
Generally, the client closes the connection because it waits for too long, so it is recommended to check whether the processing capacity of the PHP handler is sufficient to meet the demand, and increase the processing process appropriately to reduce the waiting time of the client. In addition, it is best to ignore the client's disconnection request by configuring proxy_ignore_client_abort on;
in nginx
to avoid exceptions caused by program interruption.
Of course there is another possibility of being attacked...
1. The client request speed is slow. Use a sample to check whether it is really slow.
2. The machine bandwidth is full and the request is slow. 3. Check the timeout of nginx and increase the time. The default should be 60s.
<code>client_header_timeout 180s; client_body_timeout 180s;</code>
499 corresponds to “client has closed connection”. This is most likely because the server-side processing time is too long and the client is "impatient". To solve this problem, some optimizations need to be done in the program. (Somewhat similar to the 50* error) In rfc2616, the error codes between 400 and 500 are only defined to 417, so 499 should be defined by nginx itself. <br><br><br>
From http://blog.csdn.net/rainday0310/article/details/8166163
1. 499, client has closed connection, means that the client actively disconnected. Generally, the server-side processing time is too long, and the client disconnects because it cannot wait. There is also a situation where someone attacks and deliberately consumes server resources, making the server unable to process requests and return results in a timely manner.
2. Solution: Generally optimize from the aspects of the number of PHP processing processes, fastcgi execution timeout, http forwarding configuration errors, etc. to prevent the server from processing http requests for too long.