Meilleure configuration PHP-FPM - Calcul facile et simple. PHP-FPM est un gestionnaire de processus FastCGI, une alternative à PHP. PHP-FPM est hautement configurable en ajustant facilement les paramètres du pool pour différents utilisateurs utilisant différentes versions de PHP et bien d'autres.
Dans ce guide, vous allez apprendre la meilleure méthode de configuration PHP-FPM en utilisant quelques calculs simples pour éviter certaines erreurs répertoriées ci-dessous.
1. server reached pm.max_children setting, consider raising it 2. seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers)
Étape 1 :Spécifications du serveur
Tout d'abord, notez les spécifications de votre serveur. Vos cœurs de processeur et la taille de votre RAM.
Par exemple, dans ce guide, supposons que vous disposiez de 2 vCPU et de 16 Go de RAM.
Maintenant, déterminez la quantité de mémoire que vous pouvez allouer au traitement PHP. Nous pouvons supposer qu'environ 10 Go de RAM sur 16 Go de RAM peuvent être alloués au traitement PHP.
Étape 2 :Combien de RAM consomme chaque processus PHP-FPM
Vous pouvez exécuter la commande suivante pour vérifier la mémoire moyenne consommée pour les processus PHP-FPM en cours d'exécution.
ps -ylC php-fpm7.4 --sort:rss
Remplacez la version de PHP par celle qui est utilisée pour votre application.
Vous pouvez obtenir une sortie similaire à celle ci-dessous.
Prenez note des valeurs sous le RSS colonne. Il s'agit de la mémoire utilisée par chacun de vos processus PHP-FPM.
Ici, nous avons environ 20 Mo La RAM est utilisée en moyenne par chaque processus enfant PHP-FPM.
Étape 3 :Calculer les valeurs pour les enfants PHP-FPM
Par défaut le pm
la valeur sera définie sur dynamic
, vous devrez donc configurer les serveurs de secours minimum et maximum ainsi que le nombre maximum d'enfants.
Nous allons changer le pm
valeur à ondemand
aux serveurs de secours seront créés automatiquement en fonction de la demande.
pm = ondemand
Nous pouvons maintenant calculer le nombre de processus enfants pouvant être créés pour que l'application s'exécute conformément aux spécifications du serveur.
Comme nous sommes sur le point d'allouer 10 Go RAM pour le traitement PHP-FPM. En exécutant la commande à l'étape précédente, nous avons trouvé une valeur moyenne de 20 Mo consommé par chaque enfant.
La RAM maximale peut être utilisée par PHP-FPM / RAM consommée par chaque enfant =Valeur maximale des enfants pour PHP-FPM
Donc 10000 /20 =500 . Vous pouvez utiliser jusqu'à 500 enfants PHP-FPM selon les spécifications de votre serveur. Votre configuration PHP-FPM devrait donc être…
pm.max_children = 500
Ce sont les 2 valeurs qui doivent être ajustées pour que PHP-FPM fonctionne correctement sur votre serveur.
Vous pouvez également configurer le nombre maximal de demandes à 500 en décommentant simplement le pm.max_requests
. Cela sera utile s'il y a des fuites de mémoire dans des bibliothèques tierces.
La configuration finale devrait ressembler à ceci.
pm = ondemand pm.max_children = 500 pm.max_requests = 500
Préparez-vous à un poste de professionnel des technologies de l'information avec le système d'exploitation Linux
Conclusion
Vous avez maintenant appris à configurer les valeurs PHP-FPM en fonction des spécifications de votre serveur avec des calculs simples.
Merci pour votre temps. Si vous rencontrez un problème ou des commentaires, veuillez laisser un commentaire ci-dessous.