O site usa nginx+php-fpm. Hoje, acessar algumas páginas retorna o estado 502 em poucos segundos (diferente do 502 causado pelo timeout do script php), enquanto outras páginas permanecem em serviço.
A página de status do php-fpm mostra que todos os processos estão em execução active
, mas estão todos travados State: finishing
e a carga do servidor está baixa.
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
Estou me perguntando por que isso aconteceu, embora melhore depois de reiniciar o php-fpm
.
Responder1
Este problema foi causado por uma função de longa execução registrada no fastcgi_finish_request()
, após uma longa investigação. Para sua informação, se você está procurando a resposta.