1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
RĂ©soudre un chargement infini du site (augmenter la valeur max_children)
Ce guide explique comment augmenter la valeur max_children sur Serveur Cloud 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.
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 Serveur Cloud, la limite de max_children est automatiquement ajustée en fonction de la configuration de votre Serveur Cloud.
Surhébergement mutualisé la limite maximum des max_children est de 20, pour augmenter celle-ci il est nécessaire de migrer vers un Serveur Cloud.
Prérequis
- s'assurer que vous disposez des ressources nécessaires sur le serveur Cloud
- s'assurer que l'ensemble des ressources du serveur Cloud ne soient pas utilisées ; s'il s'avère que celles-ci sont totalement utilisées, l'augmentation de la valeur max_children n'aura aucun effet (Modifier les ressources du Serveur Cloud)
- contrôler le monitoring des ressources de votre serveur, 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-2023 09:08:58] WARNING: [pool www.infomaniak.ch] server reached max_children setting (20), consider raising it
Limites en fonction du serveur
Limite des max_children en fonction des ressources du Serveur Cloud:
Configuration 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 |
Augmenter la valeur max_children
Pour accéder au site dont il faut augmenter la valeur max_children sur l'hébergement situé sur Serveur Cloud:
- se connecter au Manager Infomaniak (manager.infomaniak.com) depuis un navigateur Web comme Brave ou Edge
- cliquer sur l'icône en haut à droite de l'interface (ou naviguer grâce au menu latéral gauche p.ex)
- choisir Serveur Cloud (univers Web & Domaine)
- cliquer sur le nom du serveur concerné dans le tableau qui s'affiche
- cliquer sur Hébergements Web dans le menu latéral gauche
- cliquer sur le nom de l'hébergement concerné dans le tableau qui s'affiche
- cliquer sur le nom du site concerné dans le tableau qui s'affiche
- cliquer sur le bouton Paramètres avancés
- cliquer sur l'onglet PHP
- cliquer sur Options avancées
- choisir une nouvelle valeur pour les max_children
- cliquer sur le bouton bleu Enregistrer
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") }'