Heim  >  Artikel  >  Backend-Entwicklung  >  Häufiger Dienst 499 (Nginx PHP-fpm), aus welchem ​​Blickwinkel sollte ich mit der Untersuchung dieses Problems beginnen?

Häufiger Dienst 499 (Nginx PHP-fpm), aus welchem ​​Blickwinkel sollte ich mit der Untersuchung dieses Problems beginnen?

WBOY
WBOYOriginal
2016-08-04 09:20:462254Durchsuche

Häufiger Dienst 499 (Nginx PHP-fpm), aus welchem ​​Blickwinkel sollten wir mit der Untersuchung dieses Problems beginnen?

Antwortinhalt:

Häufiger Dienst 499 (Nginx PHP-fpm), aus welchem ​​Blickwinkel sollten wir mit der Untersuchung dieses Problems beginnen?

499Es sollte sein, dass der Client die Verbindung geschlossen hat.
Im Allgemeinen schließt der Client die Verbindung, weil er zu lange gewartet hat. Daher wird empfohlen, zu prüfen, ob die Verarbeitungskapazität des PHP-Verarbeitungsprogramms ausreicht, um den Bedarf zu decken, und den Verarbeitungsprozess entsprechend zu erhöhen, um die Wartezeit zu verkürzen des Kunden. Darüber hinaus ist es am besten, die Trennungsanforderung des Clients zu ignorieren, indem Sie nginx in proxy_ignore_client_abort on; konfigurieren, um Ausnahmen zu vermeiden, die durch Programmunterbrechungen verursacht werden.
Natürlich gibt es noch eine andere Möglichkeit, angegriffen zu werden...

1. Überprüfen Sie anhand eines Beispiels, ob die Maschinenbandbreite voll ist und die Anfrage langsam ist die Zeit auf eine längere Zeit. Die Standardeinstellung sollte 60 Sekunden betragen

<pre class="brush:php;toolbar:false">&lt;code&gt;client_header_timeout 180s; client_body_timeout 180s;&lt;/code&gt;</pre>499 entspricht „Client hat Verbindung geschlossen“. Dies liegt höchstwahrscheinlich daran, dass die serverseitige Verarbeitungszeit zu lang ist und der Client „ungeduldig“ ist. Um dieses Problem zu lösen, müssen einige Optimierungen im Programm vorgenommen werden. (Ähnlich dem Fehler vom Typ 50*) <p class="answer fmt" data-id="1020000006038189"> In rfc2616 sind die Fehlercodes zwischen 400 und 500 nur für 417 definiert, daher sollte 499 von Nginx selbst definiert werden. </p> <p></p><br>499对应的是 “client has closed connection”。这很有可能是因为服务器端处理的时间过长,客户端“不耐烦”了。要解决此问题,就需要在程序上面做些优化了。(有点类似与50*类错误)<br>rfc2616中,400~500间的错误码仅定义到了417,所以499应该是nginx自己定义的。<br> Von http://blog.csdn.net/rainday0310/article/details/8166163

1. 499, Client hat die Verbindung geschlossen, was bedeutet, dass der Client die Verbindung aktiv getrennt hat. Im Allgemeinen ist die serverseitige Verarbeitungszeit zu lang und der Client trennt die Verbindung, weil er nicht warten kann. Es gibt auch Situationen, in denen jemand Serverressourcen angreift und absichtlich verbraucht, wodurch der Server nicht in der Lage ist, Anfragen zu verarbeiten und Ergebnisse nicht rechtzeitig zurückzugeben.

2. Lösung: Optimieren Sie im Allgemeinen die Anzahl der PHP-Verarbeitungsprozesse, das Fastcgi-Ausführungszeitlimit, Konfigurationsfehler bei der http-Weiterleitung usw., um zu verhindern, dass der Server zu lange HTTP-Anfragen verarbeitet.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn