Home  >  Article  >  Backend Development  >  Frequent service 499 (Nginx+PHP-fpm), from what angle should I start to investigate this problem?

Frequent service 499 (Nginx+PHP-fpm), from what angle should I start to investigate this problem?

WBOY
WBOYOriginal
2016-08-04 09:20:462224browse

Frequent service 499 (Nginx+PHP-fpm), from what angle should we start to investigate this problem?

Reply content:

Frequent service 499 (Nginx+PHP-fpm), from what angle should we start to investigate this problem?

499It 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.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn