Die Site verwendet nginx+php-fpm. Heute wird beim Zugriff auf einige Seiten innerhalb weniger Sekunden der Status 502 zurückgegeben (anders als 502, das durch ein Timeout des PHP-Skripts verursacht wird), während andere Seiten in Betrieb bleiben.
Die Statusseite von php-fpm zeigt, dass alle Prozesse aktiv sind active
, aber sie stecken alle fest State: finishing
und die Serverauslastung ist gering.
pid: 12775
state: Finishing
start time: 18/May/2013:16:50:27 +0800
start since: 755
requests: 59
request duration: 743543095
request method: GET
request URI: /index.php
content length: 0
user: -
script: /data/webserver/index.php
last request cpu: 0.00
last request memory: 0
Ich frage mich, warum das passiert ist, obwohl es nach dem Neustart wieder in Ordnung ist php-fpm
.
Antwort1
Dieses Problem wurde nach langer Untersuchung durch eine in registrierte Funktion mit langer Laufzeit verursacht fastcgi_finish_request()
. Zu Ihrer Information, falls Sie nach der Antwort suchen.