Servidores Web e de Aplicações
    Atualizado maio de 2026
    PHP-FPM logo

    PHP-FPM Monitorização

    Monitorize os conjuntos de processos do PHP-FPM, os pedidos lentos, a utilização de memória e o estado dos trabalhadores em tempo real, sem necessidade de configuração.

    Por que monitorizar PHP-FPM?

    O PHP-FPM (FastCGI Process Manager) gere o processamento de pedidos PHP para milhões de aplicações web. A monitorização do PHP-FPM é essencial para detetar scripts lentos, gerir o dimensionamento do conjunto de processos, evitar o esgotamento da memória e manter a capacidade de resposta das aplicações.

    Deteção automática via Xitogent
    Workers ativos/inativos/total do pool de processos
    Deteção e acompanhamento de pedidos lentos
    Utilização de memória por pool
    Métricas de duração dos pedidos
    Monitorização da fila de listen
    Suporte multi-pool
    Intervalos de recolha de métricas de 1 minuto
    Limiares de alerta personalizáveis por pool
    Intervalos de recolha de métricas de 1 minuto por predefinição
    O que é a monitorização do PHP-FPM?

    Monitorização do PHP-FPM, explicada

    A monitorização do PHP-FPM deteta exaustão de pools, consultas lentas e fugas em workers antes que comecem a abrandar todos os pedidos PHP no servidor. Para WordPress, Laravel, Magento e qualquer stack Nginx + PHP-FPM, a visibilidade por pool é o sinal mais útil entre a lentidão reportada pelos utilizadores e a causa raiz. O Xitoring descobre automaticamente todos os pools no host, consulta o endpoint nativo /fpm/status num intervalo de 1 minuto e encaminha os alertas para a sua rotação de on-call existente.

    Métricas

    O que monitorizamos

    Processos ativos

    Atualmente a processar pedidos PHP.

    Processos inativos

    Workers à espera de pedidos.

    Pedidos lentos

    Pedidos que excedem o limite slow_log.

    Fila de listen

    Pedidos à espera de um worker livre.

    Limite max_children atingido

    Número de vezes em que o limite de processos foi atingido.

    Memória por processo

    Memória média por worker PHP-FPM.

    Duração dos pedidos

    Tempo médio de processamento de pedidos.

    Total de processos

    Total de workers PHP-FPM iniciados.

    Conn. Aceites

    Total de ligações aceites pelo pool desde o arranque. Combinado com `start since` (uptime), fornece uma taxa limpa de pedidos por pool.

    Memória por Processo

    Memória residente média por worker. Crescimento constante entre reciclagens aponta para uma fuga — afine `pm.max_requests` para reciclar de forma mais agressiva.

    Duração do Pedido

    Tempo médio de processamento de pedidos por pool, a partir do output de estado `?full`. Acompanhe o p95 para captar a latência de cauda invisível às médias.

    Alerta e notificação

    Configurável condições de alerta

    Configure alertas personalizados no seu painel para ser notificado assim que as métricas dPHP-FPM ultrapassarem os limites que definiu.

    PHP-FPM painel de controlo da configuração dos gatilhos de monitorização

    Pedidos lentos

    aviso

    Dispara quando a contagem de pedidos lentos excede o limite.

    Fila de listen

    crítico

    Dispara quando os pedidos se acumulam na fila, indicando workers insuficientes.

    Max Children

    crítico

    Alerta quando o limite de processos é atingido repetidamente.

    Utilização de memória

    aviso

    Dispara em utilização elevada de memória por processo.

    Processos ativos

    aviso

    Dispara quando todos os workers estão ocupados.

    01

    Importância da monitorização do PHP-FPM

    O PHP alimenta 77 % dos sites. Sem monitorização, scripts lentos, fugas de memória e esgotamento de workers podem parar as suas aplicações.

    • Detete scripts PHP lentos antes que afetem os utilizadores
    • Dimensione corretamente os pools de processos com base em dados reais
    • Evite o esgotamento de memória devido a scripts com fugas
    • Monitorize a fila de listen para evitar perdas de pedidos
    Dashboard de monitorização PHP-FPM
    Analítica de desempenho do PHP
    02

    Porquê escolher Xitoring

    Monitorização PHP-FPM fluida com configuração zero-config e suporte multi-pool.

    • Instalação num único comando
    • Suporte de monitorização multi-pool
    • Dashboard unificado
    • Alertas multicanal
    • Retenção de dados históricos
    Visão geral PHP no Xitoring
    Configuração de alertas
    Casos de uso

    Cenários comuns de monitorização do PHP-FPM

    Onde o PHP-FPM normalmente corre hoje — e o que pode correr mal se ninguém estiver a monitorizar.

    WordPress, Laravel e outros sites PHP

    A maioria dos sites PHP fica lenta pela mesma razão: não há trabalhadores livres suficientes para lidar com os visitantes que chegam com rapidez suficiente. Detetamos o gargalo no momento em que começa para que a equipa possa corrigi-lo antes que as classificações de pesquisa ou as conversões sejam afetadas.

    Aplicações PHP a correr em contentores

    Quando a mesma aplicação corre em muitos contentores, alguns podem silenciosamente lidar com muito mais tráfego do que outros. Detetamos a carga desigual para que a equipa possa reequilibrar antes que alguns visitantes tenham uma experiência mais lenta do que outros.

    Muitos websites em alojamento partilhado

    Em alojamento partilhado, um site de cliente ruidoso pode silenciosamente consumir os recursos de que todos os outros sites precisam. Mostramos qual site está a causar o problema para que a equipa possa resolver a causa em vez de reiniciar cegamente.

    Antes de começar

    Pré-requisitos para PHP-FPM

    Certifique-se de que tem tudo isto pronto — depois disso, a maioria das instalações leva 60 segundos.

    • PHP-FPM com pm.status_path = /fpm/status e ping.path = /fpm/ping definidos na configuração do pool
    • URL de estado acessível a partir do localhost (via fastcgi_pass do Nginx/Apache)
    • Acesso de leitura aos logs e à configuração do pool do PHP-FPM
    Guia de configuração

    Comece a minutos

    1

    Instalar o Xitogent no seu servidor web

    Instale o leve agente de monitorização Xitogent no host que executa o PHP-FPM.

    curl -s https://xitoring.com/install.sh | sudo bash -s -- --key=YOUR_API_KEY
    2

    Ativar a página de estado do PHP-FPM

    Defina `pm.status_path = /fpm/status` e `ping.path = /fpm/ping` na configuração do seu pool (tipicamente `/etc/php/X.Y/fpm/pool.d/www.conf`). Adicione um bloco location fastcgi_pass no Nginx (ou equivalente para Apache) para expor o caminho ao localhost, recarregue o PHP-FPM e verifique que o URL responde.

    # In your PHP-FPM pool config (e.g. /etc/php/8.x/fpm/pool.d/www.conf) pm.status_path = /fpm/status ping.path = /fpm/ping # Then in Nginx, expose them to localhost: location ~ ^/fpm/(status|ping)$ { allow 127.0.0.1; deny all; fastcgi_pass unix:/var/run/php-fpm/www.sock; include fastcgi_params; }
    3

    Ativar a integração do PHP-FPM

    Use o painel do Xitoring ou a CLI para ativar a integração do PHP-FPM. O Xitogent deteta automaticamente cada pool FPM no host e acompanha-os independentemente.

    sudo xitogent integrate
    4

    Configurar limiares de alerta (opcional)

    Defina limiares personalizados para Slow Requests, Listen Queue ou Max Children Reached para apanhar regressões de desempenho e esgotamento do pool antes que os utilizadores sintam.

    5

    Confirme que está a funcionar

    Execute este comando no servidor para confirmar que o Xitogent detetou a integração. Em cerca de 30 segundos começam a chegar novas métricas ao seu painel.

    sudo xitogent status

    Frequentemente perguntas feitas

    Isto suporta vários pools do PHP-FPM?
    Sim, o Xitogent monitoriza todos os conjuntos configurados de forma independente.
    Quais são as versões do PHP suportadas?
    PHP 7.2 ou superior com o FPM ativado.
    Isto irá afetar o desempenho do PHP?
    Não. As consultas à página de estado têm um impacto insignificante.
    Como deteto pedidos lentos no PHP-FPM?
    Defina `request_slowlog_timeout = 5s` (ou a sua tolerância) e `slowlog = /var/log/php-fpm/slow.log` na configuração do pool. Qualquer pedido que exceda o timeout obtém um backtrace PHP completo despejado no slowlog, e o contador `slow requests` na página de estado é incrementado. O Xitogent expõe a contagem (para tendência) e analisa o slowlog para identificar os maiores ofensores por local de chamada.
    O que significa max_children_reached e porque importa?
    `max_children_reached` é incrementado sempre que o PHP-FPM tentou criar um novo worker mas já estava no `pm.max_children`. Os novos pedidos ficam então em fila no backlog de listen do kernel, adicionando latência a todos os pedidos PHP. Qualquer taxa não nula é um sinal claro: ou aumente `pm.max_children` (se tiver folga de RAM — calcule primeiro `max_children × memory_per_process`), adicione um segundo pool ou corrija os caminhos de código que bloqueiam workers.
    Como monitorizo vários pools PHP-FPM num servidor?
    O Xitogent descobre automaticamente cada pool ao analisar `/etc/php/*/fpm/pool.d/` e sondar o `pm.status_path` configurado em cada um. As métricas, alertas e histórico por pool são acompanhados de forma independente no painel — útil para configurações cPanel multi-site, hosts com várias versões de PHP (8.2 + 8.3 + 8.4 em paralelo) e implementações Laravel Octane / Symfony que executam pools separados por classe de worker.
    Como resolvo problemas de uma listen queue em crescimento?
    Uma `listen queue` em crescimento significa que os pedidos PHP chegam mais depressa do que os workers conseguem processar. Três botões: (1) aumentar `pm.max_children` se a RAM permitir, (2) reduzir o trabalho por pedido via OPcache + otimização de consultas + análise de slowlog, (3) dividir em vários pools para isolar endpoints lentos. Se a `listen queue` se aproximar de `listen.backlog`, descartes de ligação ao nível do kernel são iminentes — aumente `listen.backlog` e afine `net.core.somaxconn` no Linux.
    Que versões do PHP ainda recebem atualizações de segurança?
    Em 2026: PHP 8.4 (LTS atual, suportada até dezembro de 2028), PHP 8.3 (suportada até dezembro de 2027), PHP 8.2 (apenas segurança, EOL em dezembro de 2026). O PHP 8.1 atingiu EOL em dezembro de 2025 — vida estendida disponível comercialmente via HeroDevs NES ou TuxCare. A integração funciona com todas elas; a sintaxe de configuração de pool é estável em toda a linha 8.x.
    A página de estado afetará o desempenho do PHP?
    Sem impacto mensurável. O endpoint de estado é um handler leve ao nível de C que não passa pelo pipeline de execução de pedidos — apenas serializa o estado do pool em memória. Fazer polling a cada 60 segundos adiciona contenção zero ao processamento real de pedidos PHP.

    Comece a monitorizar PHP-FPM hoje

    Configure em menos de 60 segundos. Não é necessário cartão de crédito. Estatísticas completas desde o primeiro dia.

    Iniciar período de avaliação gratuita

    Continue a explorar

    Relacionado Integrações