网站使用nginx+php-fpm,今天访问部分页面几秒后就返回502状态(与php脚本超时导致的502不同),其他页面仍可正常运行。
php-fpm 的状态页面显示所有进程都在active
,但都卡在了State: finishing
,服务器负载很低。
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
我不知道为什么会发生这种情况,尽管在我重新启动之后情况就好了php-fpm
。
答案1
经过长时间的调查,此问题是由 中注册的一个长时间运行的函数引起的fastcgi_finish_request()
。如果您正在寻找答案,请参考。