Gelegentlich finde ich in meinem Apache-Fehlerprotokoll:
[error] server reached MaxClients setting, consider raising the MaxClients setting
Ich habe MaxClients in der Vergangenheit absichtlich (auf 60) aufgrund von Problemen mit Speichermangel gesenkt, aber ich möchte genau wissen, was am Ende des Benutzers passiert, wenn dieses Limit auf dem Server erreicht wird. Dauert das Laden der Seite, auf die sie zugreifen, nur länger? Erhalten sie eine Fehlermeldung?
apache-2.2
performance
performance-tuning
laufende Pflanzen
quelle
quelle
Antworten:
Zuerst werden die Client-Anforderungen in die Warteschlange gestellt, bis ein Prozess / Thread auf dem Apache-Server frei wird. Die Clients sehen also eine Verzögerung beim Laden der Seite. Weitere Informationen finden Sie in der
MaxClients
Parameterdokumentation .Wenn die Clientanforderung in die Backlog-Warteschlange gestellt wird, kann sie auf der Clientseite möglicherweise eine Zeitüberschreitung aufweisen. Dann wird dem Benutzer eine Fehlerseite in seinem Browser angezeigt, die besagt, dass der Server zu lange braucht, um eine Antwort zu geben. Der Standardwert für das Zeitlimit beträgt beispielsweise in Firefox 300 Sekunden . Oder der Benutzer bricht die Anfrage vor dem Timeout ab ...
Wenn der Server dann mehr Anforderungen erhält und nicht rechtzeitig einen freien Prozess / Thread erhalten kann, kann die
ListenBacklog
Warteschlange gefüllt werden (standardmäßig 511 Anforderungen in der Warteschlange) und nachfolgende Anforderungen werden überhaupt nicht bedient. Der Browser teilt dem Benutzer dann mit, dass keine Verbindung zur Website hergestellt werden kann, z. B. wenn die Website vollständig ausgefallen ist.Diese Backlog-Warteschlange wird in der TCP-Implementierung auf Betriebssystemebene verwaltet. Unter Linux erhalten Sie auf der
listen
Manpage weitere Informationen zur Verwaltung. Hier ist eine weitere sehr aufschlussreiche Lektüre über die TCP-Backlog-Warteschlange in Linux- und BSD-Systemen .quelle
listen
Manpage an. Ich bin mir nicht sicher, ob es einen direkten Weg gibt, um zu wissen, was diese Warteschlange enthält. Siehe auch diese SO-Frage . Ich habe meiner Antwort weitere Informationen hinzugefügt.