1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Résoudre un chargement infini du site
Ce guide explique comment augmenter la valeur max_children depuis un serveur Cloud managé Infomaniak afin d'augmenter le nombre de processus PHP simultanés qui peuvent être utilisés par votre site. Cela sera très utile pour résoudre des problèmes de chargement infini des pages de votre site.
Fonctionnement
Par défaut la limite de max_children est fixée à 20. Bien qu'il soit possible d'augmenter cette valeur depuis la console d'administration de votre Cloud managé, la limite de max_children est automatiquement ajustée en fonction de la configuration de votre serveur Cloud. Avant d'opérer toute modification de la limite de max_children, il est nécessaire de vous assurer que vous disposez des ressources nécessaires sur votre serveur Cloud.
Limite des max_children en fonction des ressources du serveur Cloud:
Serveur Cloud | max_children |
---|---|
2 CPU | 6 Go RAM | 20 |
4 CPU | 12 Go RAM | 40 |
6 CPU | 18 Go RAM | 60 |
8 CPU | 24 Go RAM | 80 |
12 CPU | 36 Go RAM | 120 |
16 CPU | 48 Go RAM | 160 |
24 CPU | 72 Go RAM | 240 |
32 CPU | 96 ou 128 Go RAM | 320 |
Prérequis
- contrôler le monitoring des ressources de votre serveur Cloud managé, dans le cas où les ressources de votre serveur sont atteintes, il sera nécessaire de vérifier l'optimisation des processus et de votre site avant d'envisager d'augmenter la valeur des max_children
- consulter les rapports d'erreur PHP depuis le dossier /ik-logs (master process php logs - nom du fichier : php-fpm.log) pour vérifier si la limite "max_children" a été dépassée.
Exemple d'erreur:[05-Jul-2021 09:08:58] WARNING: [pool www.infomaniak.ch] server reached max_children setting (20), consider raising it
Augmenter la valeur max_children
- se connecter à votre espace Infomaniak (manager.infomaniak.com°
- se rendre dans Serveur Cloud
- cliquer sur le serveur Cloud managé concerné
- cliquer sur l'hébergement/le nom de domaine concerné
- sous Sites en bas cliquer sur le nom de domaine du site concerné
- cliquer sur le bouton Paramètres avancés
- sous l'onglet PHP, cliquer sur Options avancées puis sélectionner une nouvelle valeur pour les max_children
Commandes avancées
Cette commande permet d'avoir direct le résultat d'un pool de process PHP sans devoir naviguer dans htop:
ps aux | grep "php-fpm: pool domain_here"
Pour avoir le nombre de process, sachant qu'il faut toujours soustraire 1 parce que ça compte aussi le process grep lui-même:
ps aux | grep "php-fpm: pool domain_here" | wc -l
Cette commande vous montrera l'utilisation moyenne de la mémoire en kilo-octets par processus dans la colonne RSS:
ps -ylC php-fpm --sort:rss
La commande suivante calculera l'utilisation moyenne de la mémoire pour tous les processus PHP-FPM ci-dessus en Mb:
ps --no-headers -o "rss" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"Mb") }'