Heim >Backend-Entwicklung >PHP-Problem >So stellen Sie die Anzahl der PHP-Prozesse richtig ein

So stellen Sie die Anzahl der PHP-Prozesse richtig ein

PHPz
PHPzOriginal
2023-04-04 09:14:151381Durchsuche

Um Benutzeranfragen besser bearbeiten zu können, verwenden wir in einer Webanwendung mit hohem Datenverkehr normalerweise Multiprozesse, um mehrere Anfragen gleichzeitig zu bearbeiten. In PHP ist die Verwendung von FPM (FastCGI Process Manager) für die Multiprozessverwaltung eine gängige Methode. Wenn unser Webserver jedoch über zu viele Prozesse verfügt, werden die Ressourcen des Servers bei der Verarbeitung von großem Datenverkehr zu stark belastet, was zum Absturz des Servers führt. Daher ist es sehr wichtig, den PHP-Prozessmanager richtig zu konfigurieren. In diesem Artikel wird erläutert, wie Sie die Anzahl der PHP-Prozesse richtig einstellen.

  1. Den PHP Process Manager verstehen

Bevor wir die Anzahl der PHP-Prozesse konfigurieren, müssen wir den PHP Process Manager und seine Funktionsweise verstehen.

FPM ist ein PHP-FastCGI-Manager, der alle PHP-Prozesse verwalten kann und mehrere Prozesspools bereitstellt. Jeder Prozesspool verfügt über eine bestimmte Anzahl von PHP-Prozessen, die basierend auf der CPU und dem Speicher des Servers angegeben oder berechnet werden können.

Wenn eine Anfrage nach einer PHP-Datei gestellt wird, leitet Nginx oder Apache die Anfrage an den FPM-Manager weiter, der basierend auf dem Lastausgleichsalgorithmus einen der PHP-Prozesse auswählt. Der PHP-Prozess führt den Code aus und sendet die Antwort zurück an Nginx oder Apache, die letztendlich an den Client zurückgegeben wird.

  1. Wählen Sie die Anzahl der PHP-Prozesse

Es ist wichtig, die Anzahl der PHP-Prozesse entsprechend der tatsächlichen Situation auszuwählen. Wenn die Anzahl der Prozesse zu gering ist, kann es sein, dass sie der Belastung durch hohen Datenverkehr nicht standhalten kann. Wenn die Anzahl der Prozesse zu groß ist, werden Serverressourcen verschwendet.

Wir können die Anzahl der vom Server benötigten PHP-Prozesse anhand der folgenden Formel abschätzen:

max_children = ((Gesamt-RAM – von anderen Prozessen verwendeter Speicher) / von einem PHP-Unterprozess verbrauchter Speicher)

Daunter

max_children ist die maximale Anzahl der untergeordneten PHP-Prozesse.
Total RAM ist die Gesamtspeichermenge auf dem Server.
Der von anderen Prozessen verwendete Speicher ist die von anderen Prozessen belegte Speichermenge, die mit dem Befehl top oder ps angezeigt werden kann.
Der von einem PHP-Unterprozess verbrauchte Speicher entspricht der Speichernutzung jedes PHP-Prozesses und kann mit dem folgenden Befehl geschätzt werden.

php -r 'echo memory_get_usage(true);'

Dies gibt eine Ganzzahl in Bytes zurück. Um dies in MB umzurechnen, dividieren Sie diese Zahl durch 1024 x 1024, um die von jedem PHP-Prozess verbrauchte Speichermenge zu erhalten.

  1. Anpassen der Anzahl der PHP-Prozesse

Wir können die Anzahl der Prozesse in der php.ini-Datei angeben und diese Zahlen basierend auf der Verfügbarkeit der Serverressourcen anpassen.

In der php.ini-Datei finden Sie die folgenden Parameter:

pm = dynamisch
pm.max_children = 20
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

Das sind die Parameter, die sich auf die Schlüsselparameter des PHP-Prozesses auswirken. pm stellt den Prozessmanager dar (hier wird der dynamische Prozessmanager verwendet), pm.max_children stellt die maximale Anzahl untergeordneter Prozesse dar, pm.start_servers stellt die Anzahl untergeordneter Prozesse dar, wenn diese aktiviert sind, pm.min_spare_servers stellt die Anzahl reservierter untergeordneter Prozesse dar, pm .max_spare_servers stellt die maximale Anzahl von Leerlaufprozessen dar, die erstellt werden können.

Nachdem Sie im zweiten Schritt gemäß der Formel geschätzt haben, setzen Sie pm.max_children auf den entsprechenden Wert und passen Sie andere Parameter basierend auf der Verfügbarkeit der Serverressourcen an.

  1. Überwachen und optimieren Sie die Anzahl der Prozesse

Sobald die Anzahl der Prozesse konfiguriert und festgelegt ist, müssen wir sie regelmäßig überwachen, um sicherzustellen, dass sie unter Voll- oder Leichtlastbedingungen ordnungsgemäß funktionieren.

Sie können den Befehl top oder htop verwenden, um den Zustand des Servers zu überwachen. Diese Tools zeigen alle Prozesse auf dem Server und deren Ressourcennutzung an.

Wenn wir feststellen, dass die Anzahl der Prozesse zu groß oder zu gering ist, können wir die Anzahl der Prozesse entsprechend der tatsächlichen Situation anpassen und beobachten, ob sich ihre Betriebsbedingungen verbessern.

  1. Zusammenfassung

Bei Webanwendungen mit hoher Auslastung ist es sehr wichtig, die Anzahl der PHP-Prozesse richtig zu konfigurieren. Mit der oben genannten Methode können wir die Anzahl der vom Server benötigten Prozesse abschätzen und die beste Strategie zur Parameteroptimierung ermitteln. Die regelmäßige Überwachung der Anzahl der PHP-Prozesse ist ein weiterer wichtiger Faktor, um sicherzustellen, dass Ihre Anwendung auch bei hoher Verkehrslast stabil läuft.

Das obige ist der detaillierte Inhalt vonSo stellen Sie die Anzahl der PHP-Prozesse richtig ein. 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
Vorheriger Artikel:Was bedeutet PHP SDK?Nächster Artikel:Was bedeutet PHP SDK?