Solution au problème selon lequel php-fpm prend trop de mémoire : définissez pm.min_spare_servers et pm.max_spare_servers dans une plage raisonnable pour garantir que le nombre de processus continuera à changer.
L'environnement d'exploitation de cet article : système windows10, PHP7, ordinateur thinkpad t480.
La méthode pour résoudre le problème de la consommation excessive de mémoire de php-fpm est la suivante :
Méthode 1 : Ajuster le mode de gestion
Le mode de gestion statique convient aux serveurs avec une mémoire relativement importante, tandis que le mode dynamique convient aux serveurs avec une petite mémoire. Vous pouvez définir une plage raisonnable de pm.min_spare_servers et pm.max_spare_servers, afin que le nombre de processus continue de changer. Le mode à la demande est plus adapté aux petites mémoires, telles que 512 Mo ou 256 Mo de mémoire, et aux environnements ayant des exigences de faible disponibilité.
Méthode 2 : Réduisez le nombre de processus php-fpm
Si la mémoire de votre hôte VPS est occupée et épuisée, vous pouvez vérifier le nombre de vos processus php-fpm et le calculer en fonction du nombre de processus php-fpm = mémoire/2/30 , le nombre de processus php-fpm adaptés à 1 Go de mémoire est compris entre 10 et 20, selon les modules complémentaires chargés par votre PHP.
Exemple de configuration php-fpm
Voici une configuration VPS de php-fpm avec 1 Go de mémoire à titre de démonstration En fonctionnement réel, la valeur du paramètre doit être prise en compte en fonction des performances du serveur lui-même, de PHP, etc.
pm = dynamic #dynamic和ondemand适合小内存。 pm.max_children = 15 #static模式下生效,dynamic不生效。 pm.start_servers = 8 #dynamic模式下开机的进程数量。 pm.min_spare_servers = 6 #dynamic模式下最小php-fpm进程数量。 pm.max_spare_servers = 15 #dynamic模式下最大php-fpm进程数量。
Apprentissage recommandé : formation php
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!