Thread preforking (19 answers)
Opened by Froschpopo at 2006-03-01 05:01

Froschpopo
 2006-03-05 22:15
#29946 #29946
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
folgendes gefunden:
Code: (dl )
1
2
3
4
5
Die Direktive MaxClients setzt die Grenze für die Anzahl gleichzeitig bedienter Anfragen. Jeder Verbindungsversuch oberhalb der MaxClients-Begrenzung wird üblicherweise in eine Warteschlange gestellt, bis zu einer Anzahl basierend auf der ListenBacklog-Anweisung. Sobald ein Kindprozess am Ende einer anderen Anfrage freigegeben wird, wird die Verbindung bedient.

Für Server ohne Thread-Unterstützung (z.B. prefork) wird MaxClients als maximale Anzahl der Kindprozesse verstanden, die zur Bedienung von Anfragen gestartet werden. Die Voreinstellung ist 256. Um diesen Wert zu erhöhen, muss auch ServerLimit angehoben werden.

Bei Servern mit Thread-Unterstützung und bei Hybrid-Servern (z.B. beos oder worker) begrenzt MaxClients die Gesamtzahl der Threads, die für die Bedienung von Anfragen verfügbar sind. Die Voreinstellung für beos ist 50. Bei Hybrid-MPMs ist die Voreinstellung 16 (ServerLimit) multipliziert mit dem Wert 25 (ThreadsPerChild). Um MaxClients auf einen Wert zu erhöhen, der mehr als 16 Prozesse erfordert, müssen Sie daher auch ServerLimit anheben.

zu Abschnitt 2 noch eine Frage:
"Für Server ohne Thread-Unterstützung (z.B. prefork) wird MaxClients als maximale Anzahl der Kindprozesse verstanden"
was ist denn bitte ein Kind, wenn kein thread? Sind das dann forks? Ich kenne nur die perl-forks, in denen ja dann jedesmal das komplette programm quasi geklont wird. Das ist doch dann speichertechnisch mit der performance eines elternprozesses vergleichbar oder nicht?

View full thread preforking