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

Ist PHP dynamisch oder statisch?

(*-*)浩
(*-*)浩Original
2019-09-29 10:29:314640Durchsuche

Ist PHP dynamisch oder statisch?

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. (Empfohlenes Lernen: PHP-Video-Tutorial)

Dynamisch: Starten Sie zu Beginn eine bestimmte Anzahl von PHP-FPM-Prozessen, wenn die Anforderung größer wird. Erhöhen Sie die Anzahl der PHP-FPM-Prozesse dynamisch bis zur Obergrenze und geben Sie die inaktiven Prozesse automatisch frei Sie sind eine untere Grenze.

Diese beiden unterschiedlichen Ausführungsmethoden können entsprechend den tatsächlichen Anforderungen des Servers angepasst werden.

Hier sind die Parameter, die dabei beteiligt sind:

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

pm gibt an, welche Methode verwendet werden soll, nämlich statisch oder dynamisch. In älteren Versionen wird Dynamic auch Apache-like genannt. Bitte beachten Sie die Hinweise in der Konfigurationsdatei.

Die folgenden vier Parameter bedeuten:

pm.max_children Die Anzahl der

php-fpm-Prozesse, die im statischen Modus geöffnet wurden

Die Startanzahl der PHP-FPM-Prozesse im dynamischen Modus von pm.start_servers

Die minimale Anzahl von PHP-FPM-Prozessen im dynamischen Modus von pm.min_spare_servers;

pm.max_spare_servers im dynamischen Modus Das Maximum Anzahl der PHP-FPM-Prozesse.

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 die php-fpm-Prozesse von pm.start_servers, 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 entsprechend den Systemanforderungen dynamisch an.

Welche Ausführungsmethode ist also besser für unseren Server?

Tatsache ist, dass das PHP-Programm, das wir ausführen, wie Apache nach 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 Wert pm.max_spare_servers 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.

Bei 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 kann ermittelt werden, indem die gesamte physische Speichergröße durch 30 MB geteilt wird. Beispielsweise kann ein Server mit 2 GB Speicher auf 50 eingestellt werden; ein Server mit 4 GB Speicher kann auf 100 eingestellt werden usw.

Das obige ist der detaillierte Inhalt vonIst PHP dynamisch oder statisch?. 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