Server web e applicativi
    Aggiornato il maggio 2026
    PHP-FPM logo

    PHP-FPM Monitoraggio

    Monitora in tempo reale i pool di processi PHP-FPM, le richieste lente, l'utilizzo della memoria e lo stato dei worker senza alcuna configurazione.

    Perché monitorare PHP-FPM?

    PHP-FPM (FastCGI Process Manager) gestisce l'elaborazione delle richieste PHP per milioni di applicazioni web. Il monitoraggio di PHP-FPM è fondamentale per individuare gli script lenti, gestire le dimensioni del pool di processi, prevenire l'esaurimento della memoria e garantire la reattività delle applicazioni.

    Rilevamento automatico tramite Xitogent
    Worker attivi/inattivi/totali del pool di processi
    Rilevamento e monitoraggio delle richieste lente
    Utilizzo memoria per pool
    Metriche di durata delle richieste
    Monitoraggio della coda di listen
    Supporto multi-pool
    Intervalli di raccolta metriche di 1 minuto
    Soglie di alert personalizzabili per pool
    Intervalli di raccolta metriche di 1 minuto out of the box
    Cos'è il monitoraggio di PHP-FPM?

    Il monitoraggio di PHP-FPM, spiegato

    Il monitoraggio di PHP-FPM intercetta l'esaurimento dei pool, le query lente e i leak dei worker prima che rallentino ogni richiesta PHP sul server. Per WordPress, Laravel, Magento e qualsiasi stack Nginx + PHP-FPM, la visibilità per pool è il singolo segnale più utile tra la lentezza segnalata dagli utenti e la causa principale. Xitoring scopre automaticamente ogni pool sull'host, interroga l'endpoint nativo /fpm/status ogni minuto e indirizza gli alert verso la sua rotation on-call esistente.

    Indicatori

    Ciò che monitoriamo

    Processi attivi

    Stanno attualmente elaborando richieste PHP.

    Processi inattivi

    Worker in attesa di richieste.

    Richieste lente

    Richieste che superano la soglia slow_log.

    Coda di listen

    Richieste in attesa di un worker libero.

    Limite max_children raggiunto

    Numero di volte in cui il limite di processi è stato raggiunto.

    Memoria per processo

    Memoria media per worker PHP-FPM.

    Durata delle richieste

    Tempo medio di elaborazione delle richieste.

    Totale processi

    Totale di worker PHP-FPM avviati.

    Accepted Conn

    Connessioni totali accettate dal pool dall'avvio. Combinato con `start since` (uptime) fornisce un tasso di richieste per pool pulito.

    Memoria per processo

    Memoria residente media per worker. Una crescita costante tra i recycle indica un leak — regoli `pm.max_requests` per ricicli più aggressivi.

    Durata richiesta

    Tempo medio di elaborazione delle richieste per pool, dall'output `?full` dello stato. Tracci il p95 per cogliere la tail latency invisibile alle medie.

    Notifiche e avvisi

    Configurabile condizioni di attivazione

    Imposta dei trigger personalizzati nella tua dashboard per ricevere una notifica non appena le metriche dell{name}e superano le soglie da te definite.

    PHP-FPM pannello di controllo per la configurazione dei trigger di monitoraggio

    Richieste lente

    avviso

    Si attiva quando il conteggio delle richieste lente supera la soglia.

    Coda di listen

    critico

    Si attiva quando le richieste si accumulano in coda, indicando worker insufficienti.

    Max Children

    critico

    Avvisa quando il limite di processi viene raggiunto ripetutamente.

    Utilizzo memoria

    avviso

    Si attiva su un elevato utilizzo di memoria per processo.

    Processi attivi

    avviso

    Si attiva quando tutti i worker sono occupati.

    01

    Importanza del monitoraggio PHP-FPM

    PHP alimenta il 77% dei siti web. Senza monitoraggio, script lenti, memory leak ed esaurimento dei worker possono fermare le tue applicazioni.

    • Rileva script PHP lenti prima che impattino sugli utenti
    • Dimensiona correttamente i pool di processi sulla base di dati reali
    • Previeni l'esaurimento della memoria dovuto a script con leak
    • Monitora la coda di listen per evitare perdite di richieste
    Dashboard di monitoraggio PHP-FPM
    Analisi delle prestazioni PHP
    02

    Perché scegliere Xitoring

    Monitoraggio PHP-FPM senza interruzioni con configurazione zero-config e supporto multi-pool.

    • Installazione con un solo comando
    • Supporto al monitoraggio multi-pool
    • Dashboard unificata
    • Alerting multicanale
    • Conservazione dei dati storici
    Panoramica PHP Xitoring
    Configurazione degli avvisi
    Casi d'uso

    Scenari comuni di monitoraggio PHP-FPM

    Dove PHP-FPM è tipicamente in esecuzione oggi e cosa potrebbe andare storto se nessuno sta monitorando.

    WordPress, Laravel e altri siti PHP

    La maggior parte dei siti PHP rallenta per la stessa ragione: non ci sono abbastanza worker liberi per gestire i visitatori in arrivo abbastanza velocemente. Rileviamo il collo di bottiglia nel momento in cui inizia, in modo che il team possa risolverlo prima che il posizionamento nei motori di ricerca o le conversioni ne risentano.

    App PHP in esecuzione in container

    Quando la stessa app è in esecuzione in molti container, alcuni possono gestire silenziosamente molto più traffico di altri. Rileviamo il carico non uniforme in modo che il team possa riequilibrare prima che alcuni visitatori abbiano un'esperienza più lenta di altri.

    Molti siti web su hosting condiviso

    Su hosting condiviso, un sito cliente "rumoroso" può consumare silenziosamente le risorse di cui ogni altro sito ha bisogno. Mostriamo quale sito sta causando il problema in modo che il team possa affrontare la causa invece di riavviare alla cieca.

    Prima di iniziare

    Prerequisiti per PHP-FPM

    Assicurati di avere tutto questo in posizione — la maggior parte delle installazioni dura 60 secondi una volta soddisfatte le condizioni.

    • PHP-FPM con pm.status_path = /fpm/status e ping.path = /fpm/ping impostati nella configurazione del pool
    • URL di stato raggiungibile da localhost (via fastcgi_pass Nginx/Apache)
    • Accesso in lettura ai log e alla configurazione del pool PHP-FPM
    Guida all'installazione

    Inizia con verbali

    1

    Installa Xitogent sul tuo web server

    Installa il leggero agente di monitoraggio Xitogent sull'host che esegue PHP-FPM.

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

    Abilita la pagina di stato di PHP-FPM

    Imposta `pm.status_path = /fpm/status` e `ping.path = /fpm/ping` nella configurazione del pool (tipicamente `/etc/php/X.Y/fpm/pool.d/www.conf`). Aggiungi un blocco location fastcgi_pass in Nginx (o l'equivalente per Apache) per esporre il percorso a localhost, quindi ricarica PHP-FPM e verifica che l'URL risponda.

    # 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

    Abilita l'integrazione PHP-FPM

    Usa la dashboard di Xitoring o la CLI per abilitare l'integrazione PHP-FPM. Xitogent rileva automaticamente ogni pool FPM sull'host e li traccia indipendentemente.

    sudo xitogent integrate
    4

    Configura le soglie di allerta (opzionale)

    Imposta soglie personalizzate per Slow Requests, Listen Queue o Max Children Reached per intercettare regressioni di prestazioni ed esaurimento del pool prima che gli utenti lo percepiscano.

    5

    Verifica che funzioni

    Esegui questo comando sul server per confermare che Xitogent ha rilevato l'integrazione. In circa 30 secondi nuove metriche cominceranno a comparire sulla tua dashboard.

    sudo xitogent status

    Spesso domande poste

    Supporta più pool PHP-FPM?
    Sì, Xitogent monitora autonomamente tutti i pool configurati.
    Quali versioni di PHP sono supportate?
    PHP 7.2 o versioni successive con FPM abilitato.
    Questo influirà sulle prestazioni di PHP?
    No. Le richieste alla pagina di stato hanno un impatto trascurabile.
    Come rilevo le slow request di PHP-FPM?
    Imposti `request_slowlog_timeout = 5s` (o la sua soglia di tolleranza) e `slowlog = /var/log/php-fpm/slow.log` nella configurazione del pool. Ogni richiesta che supera il timeout produce un backtrace PHP completo nello slowlog e il contatore `slow requests` sulla pagina di stato si incrementa. Xitogent espone sia il conteggio (per il trending) sia il parsing dello slowlog per i top offender per call site.
    Cosa significa max_children_reached e perché è importante?
    `max_children_reached` si incrementa ogni volta che PHP-FPM ha provato a creare un nuovo worker ma era già a `pm.max_children`. Le nuove richieste si accodano allora nel listen backlog del kernel, aggiungendo latenza a ogni richiesta PHP. Qualsiasi tasso diverso da zero è un segnale forte: alzi `pm.max_children` (se ha margine di RAM — calcoli prima `max_children × memory_per_process`), aggiunga un secondo pool, o sistemi i percorsi di codice che bloccano i worker.
    Come monitoro più pool PHP-FPM su un singolo server?
    Xitogent scopre automaticamente ogni pool scansionando `/etc/php/*/fpm/pool.d/` e sondando il `pm.status_path` configurato per ciascuno. Metriche, alert e storico per pool vengono tracciati indipendentemente in dashboard — utile per setup cPanel multi-sito, host con più versioni PHP (8.2 + 8.3 + 8.4 in parallelo) e deployment Laravel Octane / Symfony con pool separati per classe di worker.
    Come faccio il troubleshooting di una listen queue in crescita?
    Una `listen queue` in crescita significa che le richieste PHP arrivano più velocemente di quanto i worker possano processarle. Tre leve: (1) alzare `pm.max_children` se la RAM lo consente, (2) ridurre il lavoro per richiesta tramite OPcache + ottimizzazione delle query + analisi dello slowlog, (3) suddividere in più pool per isolare gli endpoint lenti. Se `listen queue` si avvicina a `listen.backlog`, drop di connessione a livello kernel sono imminenti — alzi `listen.backlog` e regoli `net.core.somaxconn` su Linux.
    Quali versioni PHP ricevono ancora aggiornamenti di sicurezza?
    Al 2026: PHP 8.4 (LTS attuale, supportata fino a dicembre 2028), PHP 8.3 (supportata fino a dicembre 2027), PHP 8.2 (solo sicurezza, EOL dicembre 2026). PHP 8.1 ha raggiunto l'EOL a dicembre 2025 — l'extended life è disponibile commercialmente tramite HeroDevs NES o TuxCare. L'integrazione funziona con tutte; la sintassi di configurazione dei pool è stabile sull'intera linea 8.x.
    La pagina di stato influisce sulle prestazioni di PHP?
    Nessun impatto misurabile. L'endpoint di stato è un handler leggero a livello C che non passa per la pipeline di esecuzione delle richieste — serializza semplicemente lo stato in memoria del pool. Interrogarlo ogni 60 secondi aggiunge zero contesa al processing reale delle richieste PHP.

    Inizia a monitorare PHP-FPM oggi

    Configurazione in meno di 60 secondi. Non è richiesta alcuna carta di credito. Statistiche complete fin dal primo giorno.

    Inizia la prova gratuita

    Continua a esplorare

    Correlati Integrazioni