Maison >développement back-end >Problème PHP >Le php est-il dynamique ou statique ?

Le php est-il dynamique ou statique ?

(*-*)浩
(*-*)浩original
2019-09-29 10:29:314671parcourir

Le php est-il dynamique ou statique ?

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 ; (Apprentissage recommandé : Tutoriel vidéo PHP)

Dynamique : Démarrez un certain nombre de processus php-fpm au début lorsque la requête devient plus importante, augmentez dynamiquement le nombre de processus php-fpm jusqu'à la limite supérieure et libérez automatiquement les processus inactifs lorsque. ils sont inactifs.

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

Voici les paramètres impliqués dans cela. Ils sont

pm\pm.max_children\pm.start_servers\pm.min_spare_servers和pm.max_spare_servers。

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

Les quatre paramètres suivants signifient :

pm.max_children Le nombre de processus

php-fpm ouverts en mode statique

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

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

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

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 processus php-fpm pm.start_servers 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.

Alors, quelle méthode d'exécution est la meilleure pour notre serveur ?

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 de 512 Mo, il est recommandé que la valeur pm.max_spare_servers soit définie sur 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é. Étant donné que les changements fréquents du processus php-fpm entraîneront un décalage, il sera préférable d'activer la fonction statique si la mémoire est suffisamment grande. 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.

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