Keepalive-Pakete - Was ist eine vernünftige Einstellung für KeepAliveTime?

685
Jim

Der Parameter steuert, wie häufig TCP versucht, durch Senden eines Keepalive-Pakets zu überprüfen, ob eine freie Verbindung noch intakt ist. Wenn der Remote-Computer noch erreichbar ist und funktioniert, bestätigt der Remote-Computer die Keepalive-Übertragung. Standardmäßig werden Keepalive-Pakete nicht gesendet. Ein Programm kann diese Funktion für eine Verbindung aktivieren.

Der Standardwert für KeepAliveTime beträgt 2 Stunden. Das scheint viel zu lang. Wenn ich eine tote Netzwerkverbindung habe, möchte ich wissen, dass die Anwendung viel früher als 2 Stunden darauf reagiert. Ich sehe kein Problem bei der Einstellung dieses Wertes auf 5 Minuten - die Bandbreitennutzung wäre vernachlässigbar.

Warum ist die Standardeinstellung für KeepAliveTime so lang, und ist es sicher, eine niedrigere Zahl einzustellen, z. B. 5 Minuten?

0

1 Antwort auf die Frage

1
obscurerichard

Es kann sinnvoll sein, die Keepalive-Zeit zu verkürzen, wenn Sie einen Server betreiben, der wissen möchte, ob seine Clients noch aktiv sind, und Ihre Anwendung die Keepalive-Socket-Option einstellt. Die Einstellung auf 5 Minuten ist in diesem Fall ziemlich vernünftig.

Berücksichtigen Sie zum Beispiel diese Hinweise, die Benutzer der ESRI-CAD-Software zur Konfiguration von keepalive erhalten: http://support.esri.com/ja/knowledgebase/techarticles/detail/25129

Wäre es für Ihre Anwendung wichtig, dass eine Steckdose 5 Minuten oder 2 Stunden geöffnet bleibt?

Dies ist für eine bestimmte Stapelverarbeitungsanwendung von Bedeutung, die in einen gehängten Zustand wechselt, wenn die Netzwerkverbindung ausfällt. Es kann eine Wiederherstellung von einer unterbrochenen Verbindung wiederherstellen, indem es erneut versucht wird. Wenn Sie jedoch zwei Stunden warten, bedeutet das, dass eine lange Ausfallzeit auftritt, bevor die Verbindung wiederhergestellt wird. Ich denke, ich werde es auf 5 Minuten einstellen. Jim vor 9 Jahren 0