Heim  >  Artikel  >  php教程  >  Apache-Leistungsoptimierung (5)

Apache-Leistungsoptimierung (5)

黄舟
黄舟Original
2016-12-21 11:27:361206Durchsuche

Das Folgende ist der Standardkonfigurationsabschnitt des Workers:

StartServers 2

MaxClients 150 / /Set Die Gesamtzahl der Threads in allen untergeordneten Prozessen. Wenn die Gesamtzahl der Threads in den vorhandenen untergeordneten Prozessen die Last nicht erfüllen kann, erzeugt der steuernde Prozess einen neuen untergeordneten Prozess.

MinSpareThreads 25 //Die minimale Anzahl inaktiver Threads ist festgelegt

MaxSpareThreads 75 //Die maximale Anzahl inaktiver Threads ist festgelegt. Die maximalen Standardwerte von MinSpareThreads und MaxSpareThreads sind 75 und 250 bzw. 250. Das heißt, die Definition sollte diesen Wert nicht überschreiten.

ThreadsPerChild 25

MaxRequestsPerChild 0 //Es ist die Anweisung, die am engsten mit der Leistung im Worker-MPM zusammenhängt. Der maximale Standardwert von ThreadsPerChild beträgt 64. Wenn die Last groß ist, reicht 64 nicht aus. Zu diesem Zeitpunkt muss die ThreadLimit-Anweisung explizit verwendet werden. Ihr maximaler Standardwert beträgt 20.000. Die beiden oben genannten Werte befinden sich in den folgenden beiden Zeilen im Quellbaum server/mpm/worker/worker.c:

#define DEFAULT_THREAD_LIMIT 64

#define MAX_THREAD_LIMIT 20000
Diese beiden Zeilen entsprechen der Grenzanzahl von ThreadsPerChild und ThreadLimit. Am besten ändern Sie 64 vor der Konfiguration auf den gewünschten Wert. Achten Sie darauf, diese beiden Werte nicht zu hoch einzustellen, um die Verarbeitungskapazität des Systems zu überschreiten. Andernfalls wird das System instabil, da Apache nicht startet.

Die Gesamtzahl der Anfragen, die gleichzeitig im Worker-Modus verarbeitet werden können, wird durch die Gesamtzahl der untergeordneten Prozesse multipliziert mit dem ThreadsPerChild-Wert bestimmt , der größer oder gleich MaxClients sein sollte. Wenn die Last sehr groß ist und die Anzahl der vorhandenen untergeordneten Prozesse nicht erfüllt werden kann, erzeugt der Steuerungsprozess neue untergeordnete Prozesse. Die standardmäßige maximale Gesamtzahl der untergeordneten Prozesse beträgt 16. Bei einer Erhöhung muss auch ServerLimit explizit deklariert werden (der Maximalwert beträgt 20000). Diese beiden Werte befinden sich in den folgenden zwei Zeilen im Quellbaum server/mpm/worker/worker.c:
#define DEFAULT_SERVER_LIMIT 16
#define MAX_SERVER_LIMIT 20000

Das sollte es sein Beachten Sie, dass bei expliziter Deklaration von ServerLimit sein mit ThreadsPerChild multiplizierter Wert größer oder gleich MaxClients sein muss und MaxClients ein ganzzahliges Vielfaches von ThreadsPerChild sein muss, andernfalls passt sich Apache automatisch an einen entsprechenden Wert an (was unerwartet sein kann). Wert).

Das Obige ist der Inhalt der Apache-Leistungsoptimierung (5). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


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