Maison  >  Article  >  développement back-end  >  Le php est-il statique ou dynamique ?

Le php est-il statique ou dynamique ?

王林
王林original
2019-09-19 17:56:483770parcourir

Le php est-il statique ou dynamique ?

Le nombre de processus de php-fpm peut être divisé en dynamique et statique selon les paramètres.

Statique : Démarrez directement le nombre spécifié de processus php-fpm sans augmenter ni diminuer

Dynamique : Au début Ouvert ; un certain nombre de processus php-fpm. Lorsque la requête devient plus importante, augmentez dynamiquement le nombre de processus php-fpm jusqu'à la limite supérieure. Lorsqu'ils sont inactifs, relâchez automatiquement le nombre de processus inactifs à une limite inférieure.

Ces deux méthodes d'exécution différentes peuvent être ajustées en fonction des besoins réels du serveur.

Voici quelques paramètres impliqués dans cela. Ce sont pmpm.max_childrenpm.start_serverspm.min_spare_servers et pm.max_spare_servers.

pm indique quelle méthode utiliser. Vous avez le choix entre deux valeurs, à savoir staticstatique ou dynamicdynamique. Dans les anciennes versions, dynamique est également appelé apache-like. Veuillez prêter attention aux instructions données dans le fichier de configuration.

La signification des quatre paramètres suivants sont :

pm.max_childrenLe nombre de processus php-fpm démarrés en mode statique

pm.start_serversDémarrer en mode dynamique Nombre ; de processus php-fpm ;

pm.min_spare_serversNombre minimum de processus php-fpm en mode dynamique

pm.max_spare_serversNombre maximum de processus php-fpm en mode dynamique ;

Si dm est défini sur static, alors seul le paramètre pm.max_children prendra effet. Le système ouvrira le nombre défini de processus php-fpm.

Si dm est défini sur dynamique, le paramètre pm.max_children sera invalide et les trois paramètres suivants prendront effet. Le système démarrera les pm.start_servers processus php-fpm lorsque php-fpm commencera à s'exécuter, puis ajustera dynamiquement le nombre de processus php-fpm entre pm.min_spare_servers et pm.max_spare_servers en fonction des exigences du système.

Quelle méthode d'exécution est préférable de choisir

Le fait est que, comme Apache, le programme PHP que nous exécutons aura plus ou moins des fuites de mémoire une fois l'exécution terminée. . C'est aussi la raison pour laquelle un processus php-fpm n'occupe qu'environ 3 Mo de mémoire au début, et il augmentera jusqu'à 20 à 30 Mo après avoir été exécuté pendant un certain temps. Par conséquent, la méthode dynamique mettra fin aux processus redondants et pourra recycler et libérer de la mémoire. Il est donc recommandé de l'utiliser sur des serveurs avec moins de mémoire.

Le nombre maximum spécifique est obtenu en divisant la taille totale de la mémoire physique par 20 Mo. Par exemple, pour un VPS 512M, il est recommandé que la valeur pm.max_spare_servers soit fixée à 20. Quant à pm.min_spare_servers, il est recommandé de le paramétrer en fonction de la charge du serveur. Une valeur plus adaptée est comprise entre 5 et 10.

Par rapport aux serveurs dotés d'une mémoire plus grande, le définir sur statique améliorera l'efficacité. Parce que les changements fréquents du processus php-fpm entraîneront un décalage, donc si la mémoire est suffisamment grande, l'effet statique sera meilleur. Le nombre peut être obtenu en divisant la taille totale de la mémoire physique par 30 Mo. Par exemple, un serveur avec 2 Go de mémoire peut être défini sur 50 ; un serveur avec 4 Go de mémoire peut être défini sur 100, etc.

Le contenu ci-dessus est à titre de référence uniquement !

Tutoriel recommandé : Tutoriel vidéo 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!

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