
Estou tentando descobrir exatamente o que está acontecendo que aumenta httpd
tanto o uso da CPU em trabalhadores aleatórios, mas estou tendo um pouco de dificuldade para descobrir qual página PHP está sendo solicitada para que eu possa tentar descobrir por que ela está mastigando aumentar a CPU. Se o PHP fosse feito como CGI regular (em oposição ao rápido), eu poderia olhar a lista de processos, mas estamos usando mod_php.
Existe uma maneira de fazer com que o PHP 5.3 relate estatísticas de desempenho para scripts em execução no momento? Isso também pode ser relevante se decidirmos seguir esse php-fpm
caminho.
Responder1
Se você habilitar mod_status
e ligar ExtendedStatus
, ele exibirá a solicitação que está sendo tratada por cada trabalhador.
Responder2
Primeiro de tudo, não tenho certeza se você pode fazer isso com php normal, mas você pode usar o php-fpm para mostrar uma página de status neste link, você pode ver como fazer: https://rtcamp.com/tutorials/php/fpm-status-page/
Em segundo lugar, você pode ativar o slowlog no php-fpm. Com isso, você pode ver quais scripts estão sendo executados tão lentamente. aqui está um exemplo de como fazer isso: https://rtcamp.com/tutorials/php/fpm-slow-log/