Heim >Backend-Entwicklung >PHP-Problem >Ist PHP statisch oder dynamisch?
Die Anzahl der Prozesse von PHP-FPM kann entsprechend den Einstellungen in dynamisch und statisch unterteilt werden.
Statisch: Starten Sie die angegebene Anzahl von PHP-FPM-Prozessen direkt, ohne sie zu erhöhen oder zu verringern
Dynamisch: Am Anfang Öffnen Eine bestimmte Anzahl von PHP-FPM-Prozessen erhöht die Anzahl der PHP-FPM-Prozesse dynamisch auf die Obergrenze. Im Leerlauf wird die Anzahl der inaktiven Prozesse automatisch auf eine Untergrenze freigegeben.
Diese beiden unterschiedlichen Ausführungsmethoden können entsprechend den tatsächlichen Anforderungen des Servers angepasst werden.
Hier sind einige Parameter beteiligt: pmpm.max_childrenpm.start_serverspm.min_spare_servers und pm.max_spare_servers.
pm gibt an, welche Methode verwendet werden soll. Es stehen zwei Werte zur Auswahl, nämlich static
statisch oder dynamic
dynamisch. In älteren Versionen wird Dynamic auch Apache-like genannt. Bitte beachten Sie die Hinweise in der Konfigurationsdatei.
Die folgenden vier Parameter haben folgende Bedeutung:
pm.max_children
Die Anzahl der im statischen Modus gestarteten PHP-FPM-Prozesse
pm.start_servers
Anzahl des Starts im dynamischen Modus von PHP-FPM-Prozessen;
pm.min_spare_servers
Mindestanzahl von PHP-FPM-Prozessen im dynamischen Modus;
pm.max_spare_servers
Maximale Anzahl von PHP-FPM-Prozessen im dynamischen Modus.
Wenn dm auf static gesetzt ist, wird nur der Parameter pm.max_children wirksam. Das System öffnet die festgelegte Anzahl von PHP-FPM-Prozessen.
Wenn dm auf dynamisch eingestellt ist, ist der Parameter pm.max_children ungültig und die nächsten drei Parameter werden wirksam. Das System startet pm.start_servers
PHP-FPM-Prozesse, wenn PHP-FPM ausgeführt wird, und passt dann die Anzahl der PHP-FPM-Prozesse zwischen pm.min_spare_servers und pm.max_spare_servers dynamisch entsprechend den Systemanforderungen an.
Welche Ausführungsmethode ist besser zu wählen
Tatsache ist, dass das von uns ausgeführte PHP-Programm wie Apache nach Abschluss der Ausführung mehr oder weniger Speicherverluste aufweist. . Dies ist auch der Grund, warum ein PHP-FPM-Prozess zu Beginn nur etwa 3 MB Speicher belegt und nach einiger Zeit auf 20 bis 30 MB ansteigt. Daher beendet die dynamische Methode redundante Prozesse und kann einen Teil des Speichers recyceln und freigeben. Daher wird die Verwendung auf Servern mit weniger Speicher empfohlen.
Die spezifische maximale Anzahl ergibt sich aus der Division der gesamten physischen Speichergröße durch 20 MB. Für einen 512M VPS wird beispielsweise empfohlen, den pm.max_spare_servers
-Wert auf 20 zu setzen. Für pm.min_spare_servers wird empfohlen, ihn entsprechend der Auslastung des Servers festzulegen. Ein geeigneterer Wert liegt zwischen 5 und 10.
Im Vergleich zu Servern mit größerem Speicher verbessert die Einstellung auf statisch die Effizienz. Da ein häufiger Wechsel des PHP-FPM-Prozesses zu Verzögerungen führt, ist es besser, die statische Funktion zu aktivieren, wenn der Speicher groß genug ist. Die Zahl erhält man, indem man die gesamte physische Speichergröße durch 30 MB dividiert. Beispielsweise kann ein Server mit 2 GB Speicher auf 50 eingestellt werden; ein Server mit 4 GB Speicher kann auf 100 eingestellt werden usw.
Der obige Inhalt dient nur als Referenz!
Empfohlenes Tutorial: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonIst PHP statisch oder dynamisch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!