Auswirkungen der Verbindung schließen vs Keep-Alive


9

Ich konfiguriere unsere Server und aufgrund der Art unseres Load Balancers können wir keine Keep-Alive-Header für Verbindungen senden. Ich versuche, die Auswirkungen des Sendens dieser Header sowohl an den Endbenutzer als auch an den Server zu ermitteln. Wird einer etwas bemerken?


sending these headers to both the end-user and the server- Huh? Können Sie genauer sagen, was Sie tun möchten? Woher würden die Header gesendet und wie würde dies die Einschränkung Ihres Load Balancers gegenüber HTTP-Keep-Alive-Verbindungen umgehen? Um am Leben zu bleiben, ist mehr als nur ein Header erforderlich. Es erfordert die Zusammenarbeit aller Geräte, die an den HTTP-Aspekten der Verbindung beteiligt sind.
Shane Madden

Mein Wortlaut mag etwas seltsam gewesen sein, aber der Server sendet offensichtlich die Header. Ich versuche herauszufinden, welche Auswirkungen dies auf den Client und den Server haben wird.
Willemk

Welche Art von Load Balancer ist so dysfunktional, dass HTTP Keepalive beschädigt wird?
voretaq7

Wir haben eine Regel, die einen Unterordner an eine andere Serverfarm sendet. Beim Navigieren vom Stammverzeichnis zum Unterordner hält Keep-Alive die Verbindung zur ursprünglichen Serverfarm offen und sendet Sie nicht zur beabsichtigten Serverfarm.
Willemk

Antworten:


9

In erster Linie schreien. Laut. Bei Ihrem Lieferanten. Für ein Produkt, das das über ein Jahrzehnt alte HTTP / 1.1-Protokoll nicht unterstützt .

Das Fehlen dauerhafter Verbindungen führt zu einer erheblichen Verlängerung der Ladezeit von Ressourcen. Mit Keep-Alive kann eine einzelne TCP-Verbindung verwendet werden, um mehrere Ressourcen anzufordern. Ohne ist für jede Ressource auf der Seite eine neue TCP-Sitzung (mit einem neuen Drei-Wege-Handshake - und, wenn Sie SSL verwenden, eine neue SSL-Aushandlung) erforderlich.

In der Praxis hängt die Auswirkung von der Anzahl der Ressourcen auf einer Seite, der Umlaufzeit zwischen Client und Server und der Anzahl der gleichzeitigen Anforderungen ab, die der Browser eines Clients gleichzeitig stellt (moderne Browser werden standardmäßig mit ~ 6ish ausgeführt). . Viele Ressourcen pro Seite und entfernte Clients bedeuten eine sehr merkliche Verlängerung der Ladezeiten von Seiten.


Ich habe gerade überprüft, dass ungefähr 3 - 6 (abhängig von der Seite, auf der Sie sich befinden) Objekte aus dieser Domäne geladen werden. Dies lässt mich denken, dass die Verlangsamung minimal sein wird, da sie sowieso ~ 6 gleichzeitige Verbindungen geöffnet hätte.
Willemk

@Willemk Ja, das ist für eine typische Seite sehr minimal - die Verlangsamung wäre auf einer Seite, auf der Dutzende von Objekten geladen werden, viel besorgniserregender. Sollte in Ordnung sein.
Shane Madden

CDN übernimmt den größten Teil der Last.
Willemk

1

Keep Alive verbessert die Leistung sowohl auf Client- als auch auf Serverseite erheblich. Wenn möglich, deaktivieren Sie es nicht. Der Load Balancer sollte einwandfrei funktionieren, wenn Keep Alive aktiviert ist.


Sie können Authentifizierungsprobleme haben, wenn Sie die NTLM-Authentifizierung verwenden und die Keep-Alives deaktiviert sind.
Mircea Vutcovici

Ich versuche zu quantifizieren "stark verbessern". Außerdem befindet sich unser IT-Team in Gesprächen mit dem Anbieter des Lastausgleichs über das Problem.
Willemk
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.