Jetzt ist Nginx + FPM im Grunde die Mainstream-Konfiguration geworden, wobei uns die Konfiguration von pm.max_chindren mehr am Herzen liegt.
Zunächst achten wir darauf eine Einstellung: pm = static/dynamic。
Verwandte Lernempfehlungen: PHP-Programmierung vom Einstieg bis zur Kompetenz
Diese Option dient zur Identifizierung der Generation Modus des FPM-Unterprozesses:
statisch: bedeutet, dass pm.max_chindren
Worker-Prozesse direkt ausgegeben werden, wenn FPM ausgeführt wird
dynamisch: bedeutet, dass start_servers
Es wird generell empfohlen, statisch zu verwenden. Der Vorteil besteht darin, dass die Lastsituation nicht dynamisch bestimmt werden muss und die Leistung verbessert wird. Der Nachteil besteht darin, dass es mehr Systemspeicherressourcen beansprucht. Das Obige zeigt uns die Anzahl der Worker-Prozesse, die von max_chindren dargestellt werden. Es wird allgemein angenommen, dass dies ein relativ großes Missverständnis ist, je mehr Parallelität diese Konfiguration gleichzeitig bewältigen kann:Wie sollte also die Anzahl der Worker konfiguriert werden?
Theoretisch ist die Anzahl der Worker-Prozesse = die Anzahl der CPUs am sinnvollsten, aber aufgrund von Punkt 2 hat möglicherweise nicht jeder Worker die Verarbeitung der Anfrage abgeschlossen, sodass 502 häufig auftritt. Das Öffnen weiterer Prozesse bedeutet jedoch lediglich, 502 zu vermeiden und die Anforderung vorübergehend aufzuhängen. Dies ist jedoch nur eine Möglichkeit, dies zu verringern. Tatsächlich erhöht dies nicht nur die Parallelität des Systems, sondern erhöht auch die Systemlast. Basierend auf 2 und 3 ist es wichtiger, eine angemessene Anzahl von Arbeitern festzulegen. Die einzige Kampfkunst der Welt besteht darin, schnell zu sein. Sie können die Effizienz des Programms so weit wie möglich verbessern und die Zeit einer einzelnen Anfrage auf ein Minimum reduzieren einer einzelnen Arbeitskraft verkürzt, die in einer Zeiteinheit bearbeitet werden kann. Natürlich gab es mehr Anfragen. Dann kann die Anzahl der basierend auf der Anzahl der von jedem Mitarbeiter pro Zeiteinheit bearbeiteten Anfragen geschätzt werden. Wenn die Verarbeitungszeit der größten Anfrage (CPU-Zeit in xhprof) innerhalb von 100 ms liegt und innerhalb von 100 ms 100 Anfragen gleichzeitig eingehen, müssen theoretisch 100 Arbeitsprozesse so konfiguriert werden, dass die Anfragen zuerst hängen bleiben. max_children
im Status von fpm ist, und konfigurieren Sie dann max_children so, dass es größer ist. max active processes
Das obige ist der detaillierte Inhalt vonVerstehen Sie die Konfiguration von max_children in PHP-FPM. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!