Maison  >  Article  >  Opération et maintenance  >  Que faire s'il y a trop de processus php fpm dans CentOS 7

Que faire s'il y a trop de processus php fpm dans CentOS 7

藏色散人
藏色散人original
2020-08-19 09:23:332315parcourir

La solution au problème du trop grand nombre de processus php fpm : vérifiez d'abord le nombre total de processus php ; puis listez les 50 principaux processus qui consomment le plus de mémoire puis optimisez "php-fpm" en modifiant la configuration ; fichier ; redémarrez enfin le serveur Can.

Que faire s'il y a trop de processus php fpm dans CentOS 7

Recommandé : "Tutoriel vidéo PHP"

Résoudre le problème du trop grand nombre de processus php-fpm dans CentOS 7 De nombreux problèmes entraînent une consommation importante des ressources mémoire du serveur

Qu'est-ce que php-fpm :

php-fpm est le gestionnaire de processus FastCGI, utilisé pour contrôler la mémoire de php et les processus.

Environnement d'exploitation :

CentOS 7

Vérification du problème :

Vérifiez d'abord le nombre total de processus php :

pstree|grep php-fpm

Echo :

|-php-fpm---20*[php-fpm]

Selon les informations d'écho, il y a 20 processus php-fpm pendant la requête.

Vous pouvez également utiliser la commande suivante pour lister les 50 principaux processus qui consomment le plus de mémoire :

ps auxw|head -1;ps auxw|sort -rn -k4|head -50

Processus de solution :

Ci-dessous, nous optimisons php-fpm en modifiant le fichier de configuration, pour atteindre l'objectif de réduire l'utilisation de la mémoire.

Mon fichier de configuration php-fpm est dans le répertoire …/server/php/etc/, entrez dans ce répertoire.

Sauvegardez d'abord le fichier de configuration d'origine :

cp php-fpm.conf php-fpm.conf.bak

Remarque : après avoir utilisé vim pour ouvrir le fichier de configuration, appuyez sur la touche Échap, puis saisissez "/", puis saisissez "xxx" pour recherchez la chaîne "xxx".

Les paramètres de configuration spécifiques sont les suivants :

pm.max_children = 100改为:pm.max_children = 25
pm.start_servers = 20改为pm.start_servers = 5
pm.min_spare_servers = 5改为pm.min_spare_servers = 2
pm.max_spare_servers = 35改为pm.max_spare_servers = 10

Redémarrez le serveur :

reboot

Après le redémarrage, vous pouvez constater que l'utilisation de la mémoire est inférieure à celle d'avant.

Remarque :

Explication des paramètres dans php-fpm.conf :

pm.max_children : Le nombre de processus php-fpm démarrés en mode statique.

pm.start_servers : Le nombre de processus php-fpm démarrant en mode dynamique.

pm.min_spare_servers : Le nombre minimum de processus php-fpm en mode dynamique.

pm.max_spare_servers : Le nombre maximum de processus php-fpm en mode dynamique.

Lors de la définition des paramètres ci-dessus, j'ai défini le mode d'exécution de php-fpm sur dynamique :

pm = dynamique

php-fpm a deux modes d'exécution :

L'un est statique et l'autre est dynamique. S'il est défini sur statique, seul le paramètre pm.max_children prendra effet. S'ils sont définis sur dynamique, les trois paramètres pm.start_servers, pm.min_spare_servers et pm.max_spare_servers prendront effet. Après l'avoir défini sur dynamique, lorsque php-fpm démarre, il démarrera le nombre de processus correspondant en fonction du paramètre pm.start_servers. Après cela, le nombre de processus de php-fpm sera maintenu entre le nombre spécifié par pm. .min_spare_servers et pm.max_spare_servers.

Comment choisir d'utiliser le mode d'exécution statique ou dynamique de php-fpm :

Le mode d'exécution dynamique de php-fpm permet à php-fpm de libérer les processus redondants, économisant ainsi les ressources mémoire.

La méthode d'exécution statique de php-fpm ne permet pas à php-fpm de libérer plus que des processus, évitant ainsi le démarrage ou l'arrêt fréquent du processus php-fpm, réduisant ainsi le temps de réponse du serveur dans certains cas.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn