Serveurs Web et d'applications
    Mis à jour le mai 2026
    PHP-FPM logo

    PHP-FPM Suivi

    Surveillez en temps réel les pools de processus PHP-FPM, les requêtes lentes, l'utilisation de la mémoire et l'état des workers, sans aucune configuration.

    Pourquoi surveiller ? PHP-FPM?

    PHP-FPM (FastCGI Process Manager) gère le traitement des requêtes PHP pour des millions d'applications web. La surveillance de PHP-FPM est essentielle pour détecter les scripts lents, gérer la taille du pool de processus, éviter l'épuisement de la mémoire et maintenir la réactivité des applications.

    Détection automatique via Xitogent
    Workers actifs/inactifs/total du pool de processus
    Détection et suivi des requêtes lentes
    Utilisation mémoire par pool
    Métriques de durée des requêtes
    Surveillance de la file d'écoute
    Prise en charge multi-pool
    Intervalles de collecte des métriques d'1 minute
    Seuils d'alerte personnalisables par pool
    Intervalles de collecte de métriques d'une minute prêts à l'emploi
    Qu'est-ce que la surveillance de PHP-FPM ?

    La surveillance de PHP-FPM, expliquée

    La surveillance de PHP-FPM détecte l'épuisement des pools, les requêtes lentes et les fuites de workers avant qu'ils ne ralentissent toutes les requêtes PHP du serveur. Pour WordPress, Laravel, Magento et toute pile Nginx + PHP-FPM, la visibilité par pool est le signal le plus utile entre une lenteur signalée par les utilisateurs et sa cause racine. Xitoring détecte automatiquement chaque pool sur l'hôte, interroge le point d'accès natif /fpm/status toutes les minutes et achemine les alertes vers votre rotation d'astreinte existante.

    Indicateurs

    Ce que nous surveillons

    Processus actifs

    Traitent actuellement des requêtes PHP.

    Processus inactifs

    Workers en attente de requêtes.

    Requêtes lentes

    Requêtes dépassant le seuil slow_log.

    File d'écoute

    Requêtes en attente d'un worker libre.

    Limite max_children atteinte

    Nombre de fois où la limite de processus a été atteinte.

    Mémoire par processus

    Mémoire moyenne par worker PHP-FPM.

    Durée des requêtes

    Temps moyen de traitement des requêtes.

    Total des processus

    Total des workers PHP-FPM lancés.

    Connexions acceptées

    Total des connexions acceptées par le pool depuis son démarrage. Combiné avec `start since` (uptime), il donne un taux de requêtes par pool propre.

    Mémoire par processus

    Mémoire résidente moyenne par worker. Une croissance constante entre les recyclages signale une fuite — ajustez `pm.max_requests` pour recycler plus agressivement.

    Durée des requêtes

    Temps moyen de traitement des requêtes par pool, depuis la sortie du statut `?full`. Suivez le p95 pour détecter la latence de queue invisible aux moyennes.

    Déclencheurs et alertes

    Configurables déclencheurs d'alerte

    Configurez des déclencheurs personnalisés dans votre tableau de bord pour être averti dès que les indicateurs d{name}s dépassent les seuils que vous avez définis.

    PHP-FPM tableau de bord de configuration des déclencheurs de surveillance

    Requêtes lentes

    avertissement

    Se déclenche lorsque le nombre de requêtes lentes dépasse le seuil.

    File d'écoute

    crucial

    Se déclenche lorsque les requêtes s'accumulent en file, indiquant des workers insuffisants.

    Max Children

    crucial

    Alerte lorsque la limite de processus est atteinte de manière répétée.

    Utilisation mémoire

    avertissement

    Se déclenche sur une utilisation mémoire par processus élevée.

    Processus actifs

    avertissement

    Se déclenche lorsque tous les workers sont occupés.

    01

    Importance de la surveillance PHP-FPM

    PHP propulse 77 % des sites web. Sans surveillance, les scripts lents, les fuites de mémoire et l'épuisement des workers peuvent immobiliser vos applications.

    • Détectez les scripts PHP lents avant qu'ils n'impactent les utilisateurs
    • Dimensionnez correctement les pools de processus en fonction des données réelles
    • Évitez l'épuisement mémoire dû à des scripts qui fuient
    • Surveillez la file d'écoute pour éviter les pertes de requêtes
    Tableau de bord de surveillance PHP-FPM
    Analytique des performances PHP
    02

    Pourquoi choisir Xitoring

    Surveillance PHP-FPM fluide avec configuration zéro-config et prise en charge multi-pool.

    • Installation en une commande
    • Prise en charge de la surveillance multi-pool
    • Tableau de bord unifié
    • Alerting multicanal
    • Conservation des données historiques
    Vue d'ensemble PHP Xitoring
    Configuration des alertes
    Cas d'usage

    Scénarios courants de surveillance PHP-FPM

    Où PHP-FPM fonctionne généralement aujourd'hui — et ce qui pourrait mal tourner si personne ne surveille.

    WordPress, Laravel et autres sites PHP

    La plupart des sites PHP ralentissent pour la même raison : il n'y a pas assez de workers disponibles pour gérer les visiteurs entrants assez rapidement. Nous détectons le goulot d'étranglement dès qu'il apparaît afin que l'équipe puisse le résoudre avant que le classement de recherche ou les conversions n'en pâtissent.

    Applications PHP fonctionnant dans des conteneurs

    Lorsque la même application fonctionne dans de nombreux conteneurs, certains peuvent gérer discrètement beaucoup plus de trafic que d'autres. Nous mettons en évidence la charge inégale afin que l'équipe puisse rééquilibrer avant que certains visiteurs n'aient une expérience plus lente que d'autres.

    De nombreux sites web sur hébergement partagé

    Sur un hébergement partagé, un site client bruyant peut consommer discrètement les ressources dont tous les autres sites ont besoin. Nous montrons quel site est à l'origine du problème afin que l'équipe puisse en traiter la cause au lieu de redémarrer à l'aveugle.

    Avant de commencer

    Prérequis pour PHP-FPM

    Assurez-vous d'avoir tout cela en place — la plupart des installations sont une affaire de 60 secondes une fois ces conditions réunies.

    • PHP-FPM avec pm.status_path = /fpm/status et ping.path = /fpm/ping définis dans la configuration du pool
    • L'URL de statut accessible depuis localhost (via fastcgi_pass Nginx/Apache)
    • Accès en lecture aux logs PHP-FPM et à la configuration du pool
    Guide d'installation

    Commencez par procès-verbal

    1

    Installer Xitogent sur votre serveur web

    Installez l'agent de monitoring léger Xitogent sur l'hôte qui exécute PHP-FPM.

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

    Activer la page de statut PHP-FPM

    Définissez `pm.status_path = /fpm/status` et `ping.path = /fpm/ping` dans votre configuration de pool (typiquement `/etc/php/X.Y/fpm/pool.d/www.conf`). Ajoutez un bloc location fastcgi_pass dans Nginx (ou son équivalent pour Apache) pour exposer le chemin à localhost, puis rechargez PHP-FPM et vérifiez que l'URL répond.

    # 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

    Activer l'intégration PHP-FPM

    Utilisez le tableau de bord Xitoring ou la CLI pour activer l'intégration PHP-FPM. Xitogent détecte automatiquement chaque pool FPM sur l'hôte et les suit indépendamment.

    sudo xitogent integrate
    4

    Configurer les seuils d'alerte (facultatif)

    Définissez des seuils personnalisés pour les Slow Requests, la Listen Queue ou Max Children Reached afin de détecter les régressions de performance et l'épuisement des pools avant que les utilisateurs ne les ressentent.

    5

    Vérifier que tout fonctionne

    Exécutez cette commande sur le serveur pour confirmer que Xitogent a bien détecté l'intégration. De nouvelles métriques apparaîtront sur votre tableau de bord dans environ 30 secondes.

    sudo xitogent status

    Souvent a posé des questions

    Cette configuration prend-elle en charge plusieurs pools PHP-FPM ?
    Oui, Xitogent surveille tous les pools configurés de manière indépendante.
    Quelles versions de PHP sont prises en charge ?
    PHP 7.2 ou version ultérieure avec FPM activé.
    Cela aura-t-il un impact sur les performances de PHP ?
    Non. Les requêtes sur la page d'état ont un impact négligeable.
    Comment détecter les requêtes lentes PHP-FPM ?
    Définissez `request_slowlog_timeout = 5s` (ou votre tolérance) et `slowlog = /var/log/php-fpm/slow.log` dans la configuration du pool. Toute requête dépassant le délai obtient une trace PHP complète déversée dans le slowlog, et le compteur `slow requests` sur la page de statut s'incrémente. Xitogent expose à la fois le nombre (pour le suivi des tendances) et analyse le slowlog pour identifier les principaux fautifs par site d'appel.
    Que signifie max_children_reached et pourquoi est-ce important ?
    `max_children_reached` s'incrémente chaque fois que PHP-FPM a tenté de générer un nouveau worker mais était déjà à `pm.max_children`. Les nouvelles requêtes sont alors mises en file d'attente dans le backlog d'écoute du noyau, ajoutant de la latence à chaque requête PHP. Tout taux non nul est un signal fort : augmentez `pm.max_children` (si vous avez de la marge RAM — calculez d'abord `max_children × memory_per_process`), ajoutez un second pool, ou corrigez les chemins de code qui bloquent les workers.
    Comment surveiller plusieurs pools PHP-FPM sur un même serveur ?
    Xitogent détecte automatiquement chaque pool en scannant `/etc/php/*/fpm/pool.d/` et en sondant le `pm.status_path` configuré pour chacun. Les métriques, alertes et historiques par pool sont suivis indépendamment dans le tableau de bord — utile pour les configurations cPanel multi-sites, les hôtes multi-versions PHP (8.2 + 8.3 + 8.4 en parallèle) et les déploiements Laravel Octane / Symfony exécutant des pools séparés par classe de worker.
    Comment résoudre une file d'attente d'écoute qui grandit ?
    Une `listen queue` croissante signifie que les requêtes PHP arrivent plus vite que les workers ne peuvent les traiter. Trois leviers : (1) augmentez `pm.max_children` si la RAM le permet, (2) réduisez le travail par requête via OPcache + optimisation des requêtes + analyse du slowlog, (3) divisez en plusieurs pools pour isoler les endpoints lents. Si `listen queue` approche `listen.backlog`, des abandons de connexion au niveau noyau sont imminents — augmentez `listen.backlog` et ajustez `net.core.somaxconn` sur Linux.
    Quelles versions de PHP reçoivent encore des mises à jour de sécurité ?
    En 2026 : PHP 8.4 (LTS actuelle, prise en charge jusqu'en décembre 2028), PHP 8.3 (prise en charge jusqu'en décembre 2027), PHP 8.2 (sécurité uniquement, fin de vie en décembre 2026). PHP 8.1 a atteint sa fin de vie en décembre 2025 — une vie étendue est disponible commercialement via HeroDevs NES ou TuxCare. L'intégration fonctionne avec toutes ; la syntaxe de configuration des pools est stable dans la ligne 8.x.
    La page de statut affectera-t-elle les performances PHP ?
    Aucun impact mesurable. Le point d'accès de statut est un gestionnaire léger au niveau C qui ne passe pas par le pipeline d'exécution des requêtes — il sérialise simplement l'état du pool en mémoire. L'interroger toutes les 60 secondes n'ajoute aucune contention au traitement réel des requêtes PHP.

    Commencer à surveiller PHP-FPM aujourd'hui

    Configuration en moins de 60 secondes. Aucune carte bancaire requise. Statistiques complètes dès le premier jour.

    Commencer l'essai gratuit

    Continuez à explorer

    Connexes Intégrations