Maison >développement back-end >tutoriel php >Une brève introduction aux principes de fonctionnement et aux modes de php-fpm

Une brève introduction aux principes de fonctionnement et aux modes de php-fpm

不言
不言avant
2019-03-01 13:31:353466parcourir

Ce que cet article vous apporte est une brève introduction aux principes et modes de fonctionnement de php-fpm. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Principe de fonctionnement :

Phase d'initialisation cgi : appeler respectivement les fonctions fcgi_init() et sapi_startup(), enregistrer les signaux de processus et initialiser la variable globale sapi_globals.

Phase d'initialisation de l'environnement php : déclenchée par cgi_sapi_module.startup. La fonction php_cgi_startup est en fait appelée et php_cgi_startup appelle en interne php_module_startup pour l'exécution. Les principales fonctions de php_module_startup : a) Charger et analyser la configuration php ; b) Charger les fonctions désactivées et la configuration de la bibliothèque de classes ; ; e). Enregistrez la méthode de récupération de mémoire ;

Phase d'initialisation de php-fpm : exécutez la fonction fpm_init(). Responsable de l'analyse de la configuration du fichier php-fpm.conf, de l'obtention des paramètres liés au processus (le nombre maximum de fichiers autorisés à être ouverts par le processus, etc.), de l'initialisation du pool de processus et du modèle d'événement, ainsi que d'autres opérations.

Phase d'exécution de php-fpm : exécutez la fonction fpm_run(), et le processus principal sera bloqué après l'exécution. Cette phase est divisée en deux parties : le processus enfant du fork et l'événement de boucle. La partie du processus enfant fork est gérée par la fonction fpm_children_create_initial (Remarque : le mode à la demande est créé dans la fonction fpm_pctl_on_socket_accept). La partie événement de boucle est traitée via la fonction fpm_event_loop, qui est une boucle infinie à l'intérieur et est responsable de la collecte des événements.

Mode d'exécution

php-fpm prend en charge trois modes d'exécution, à savoir statique, à la demande et dynamique. La valeur par défaut est dynamique.

statique : Mode statique, un processus de travail fixe est alloué au démarrage.

ondemand : allocation à la demande, processus de travail de fork lorsque la demande de l'utilisateur est reçue. à la demande : allocation à la demande, processus de travail de fork lorsque la demande de l'utilisateur est reçue.

dynamique : Mode dynamique, un processus fixe est alloué au démarrage. À mesure que le nombre de requêtes augmente, ajustez le processus de travail dans la plage flottante définie

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer