Heim >Backend-Entwicklung >PHP-Problem >Ist PHP statisch oder dynamisch?

Ist PHP statisch oder dynamisch?

王林
王林Original
2019-09-19 17:56:483820Durchsuche

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 staticstatisch oder dynamicdynamisch. 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_childrenDie Anzahl der im statischen Modus gestarteten PHP-FPM-Prozesse

pm.start_serversAnzahl des Starts im dynamischen Modus von PHP-FPM-Prozessen;

pm.min_spare_serversMindestanzahl von PHP-FPM-Prozessen im dynamischen Modus;

pm.max_spare_serversMaximale 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn