Comment activer les slowlog sur PHP-FPM ?
L'activation des slowlogs de PHP-FPM peut être très utile pour diagnostiquer les problèmes de performances sur votre serveur web. Les slowlogs permettent d'enregistrer toutes les requêtes PHP qui prennent plus de temps que la limite de temps définie, ce qui peut aider à identifier les scripts PHP problématiques et les optimiser pour améliorer les performances.
Voici comment activer les slowlogs de PHP-FPM :
1. Ouvrez le fichier de configuration PHP-FPM :
Le fichier de configuration PHP-FPM peut varier selon votre système d'exploitation. Par exemple, sur les systèmes basés sur Debian, vous pouvez trouver le fichier de configuration dans /etc/php/7.4/fpm/pool.d/www.conf. (remplacer 7.4 par la version que vous utilisez).
A. Trouvez la section des paramètres de journalisation :
Dans le fichier de configuration, recherchez la section "Logging" qui contient les paramètres de journalisation.
B. Activez le slowlog :
Pour activer le slowlog, vous devez définir deux paramètres :
- slowlog : le chemin du fichier de journalisation slowlog
- request_slowlog_timeout : le temps en secondes avant qu'une requête soit considérée comme "lente" et enregistrée dans le slowlog
Par exemple, pour activer le slowlog et définir un temps limite de 10 secondes, vous pouvez ajouter ces lignes à la section Logging :
slowlog = /var/log/php-fpm/php7.4-fpm-slowlog.log
request_slowlog_timeout = 10s
Assurez-vous que le chemin du fichier de journalisation existe et que PHP-FPM a les droits nécessaires pour écrire dans ce fichier.
2. Redémarrez PHP-FPM :
Après avoir modifié le fichier de configuration, vous devez redémarrer PHP-FPM pour que les modifications prennent effet. Sur les systèmes basés sur Debian, vous pouvez utiliser la commande suivante pour redémarrer PHP-FPM :
sudo service php7.4-fpm restart
3. Vérifiez les slowlogs :
Une fois que les slowlogs sont activés, toutes les requêtes PHP qui prennent plus de temps que la limite de temps définie seront enregistrées dans le fichier de journalisation slowlog. Vous pouvez vérifier le contenu de ce fichier pour identifier les scripts PHP problématiques et les optimiser pour améliorer les performances.
cat /var/log/php-fpm/php7.4-fpm-slowlog.log
Je peux vous garantir que pour l'avoir utiliser à de nombreuses reprises, l'activation des slowlog peut vous permettre de vous sortir de situation où un site web peut par exemple mette totalement à genoux un serveur dédié. Sans cette journalisation, il aurait été très difficile voir impossible de localiser les scripts incriminants.