该网站使用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
我想知道为什么会发生这种情况,尽pipe在重新启动php-fpm后它变得很好。
这个问题是由经过长时间调查后在fastcgi_finish_request()注册的长时间运行函数引起的。 仅供参考,如果你正在寻找答案。