Heim  >  Artikel  >  Backend-Entwicklung  >  Eine kurze Einführung in die Funktionsprinzipien und Modi von PHP-FPM

Eine kurze Einführung in die Funktionsprinzipien und Modi von PHP-FPM

不言
不言nach vorne
2019-03-01 13:31:353372Durchsuche

Dieser Artikel bietet Ihnen eine kurze Einführung in die Funktionsweise und den Modus von PHP-FPM. Ich hoffe, dass er für Freunde hilfreich ist.

Funktionsprinzip:

cgi-Initialisierungsphase: Rufen Sie die Funktionen fcgi_init() bzw. sapi_startup() auf, registrieren Sie Prozesssignale und initialisieren Sie die globale Variable sapi_globals.

Initialisierungsphase der PHP-Umgebung: ausgelöst durch cgi_sapi_module.startup. Die Funktion php_cgi_startup wird tatsächlich aufgerufen und php_cgi_startup ruft intern php_module_startup zur Ausführung auf. Die Hauptfunktionen von php_module_startup: a) PHP-Konfiguration laden und in der Funktionssymboltabelle aufzeichnen (c). ; e). Registrieren Sie die Speicherwiederherstellungsmethode;

php-fpm-Initialisierungsphase: Führen Sie die Funktion fpm_init() aus. Verantwortlich für das Parsen der Dateikonfiguration php-fpm.conf, das Abrufen prozessbezogener Parameter (die maximale Anzahl von Dateien, die vom Prozess geöffnet werden dürfen usw.), das Initialisieren des Prozesspools und des Ereignismodells sowie andere Vorgänge.

php-fpm-Laufphase: Führen Sie die Funktion fpm_run() aus, und der Hauptprozess wird nach der Ausführung blockiert. Diese Phase ist in zwei Teile unterteilt: den untergeordneten Fork-Prozess und das Schleifenereignis. Der untergeordnete Teil des Fork-Prozesses wird von der Funktion fpm_children_create_initial verwaltet (Hinweis: Der OnDemand-Modus wird in der Funktion fpm_pctl_on_socket_accept erstellt). Der Schleifenereignisteil wird über die Funktion fpm_event_loop verarbeitet, die eine Endlosschleife im Inneren darstellt und für die Ereigniserfassung verantwortlich ist.

Laufmodus

php-fpm unterstützt drei Laufmodi, nämlich statisch, On-Demand und dynamisch. Der Standardwert ist dynamisch.

statisch: Statischer Modus, beim Start wird ein fester Arbeitsprozess zugewiesen.

ondemand: Bei Bedarf zuweisen, Fork-Worker-Prozess, wenn eine Benutzeranfrage eingeht. ondemand: Bei Bedarf zuweisen, den Arbeitsprozess verzweigen, wenn eine Benutzeranforderung eingeht.

dynamisch: Dynamischer Modus, beim Start wird ein fester Prozess zugewiesen. Wenn die Anzahl der Anfragen zunimmt, passen Sie den Arbeitsprozess innerhalb des festgelegten Gleitbereichs

an

Das obige ist der detaillierte Inhalt vonEine kurze Einführung in die Funktionsprinzipien und Modi von PHP-FPM. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen