Apache ist KeepAliveTimeout
vorhanden, um eine Keep-Alive-Verbindung zu schließen, wenn innerhalb eines bestimmten Zeitraums keine neue Anforderung ausgegeben wird. Vorausgesetzt, der Benutzer schließt seinen Browser / Tab nicht, schließt dieses Zeitlimit (normalerweise 5 bis 15 Sekunden) die meisten Keep-Alive-Verbindungen und verhindert, dass Serverressourcen verschwendet werden, indem Verbindungen auf unbestimmte Zeit beibehalten werden.
Jetzt begrenzt die MaxKeepAliveRequests
Direktive die Anzahl der HTTP-Anforderungen, die eine einzelne TCP-Verbindung (die aufgrund von offen KeepAlive
bleibt) bedienen wird. Wenn Sie dies auf setzen 0
, ist eine unbegrenzte Anzahl von Anforderungen zulässig.
Warum würden Sie dies jemals auf etwas anderes als "unbegrenzt" einstellen? Wenn ein Kunde noch aktiv Anfragen stellt, welchen Schaden hat es dann, wenn diese auf derselben Keep-Alive-Verbindung ausgeführt werden? Sobald das Limit erreicht ist, gehen die Anforderungen nur bei einer neuen Verbindung ein.
So wie ich das sehe, macht es keinen Sinn, dies jemals einzuschränken. Was vermisse ich?
quelle
Teilweise, um zu verhindern, dass ein einzelner Benutzer alle Verbindungssteckplätze belegt. Ohne Einschränkung könnte ein böswilliger oder schlecht geschriebener Client jede einzelne verfügbare Verbindung übernehmen und für immer behalten. Dies ist jedoch keine gute Abschwächung im Vergleich zu einem IP-Verbindungslimit.
Meistens Lastausgleich, aber speziell im Hinblick auf die Wartung. Wenn Sie einen Server offline schalten möchten, löschen Sie ihn auf 0 Verbindungen, lassen jedoch vorhandene Verbindungen für einige Zeit beendet werden. Wenn Sie die Anzahl der Keepalive-Anforderungen begrenzen, erstellen Benutzer möglicherweise ordnungsgemäß eine neue Verbindung und werden auf einen neuen Back-End-Server verschoben. Wahrscheinlich wäre eine Möglichkeit, dem Server zu signalisieren, dass er während des Abflussvorgangs keine Keepalives mehr akzeptieren soll, noch besser, aber soweit ich weiß, gibt es eine solche Funktion nicht.
quelle