Paquetes Keepalive: ¿cuál es una configuración razonable para KeepAliveTime?

0

El parámetro controla con qué frecuencia TCP intenta verificar que una conexión inactiva todavía está intacta enviando un paquete keepalive. Si la computadora remota todavía está accesible y en funcionamiento, la computadora remota reconoce la transmisión keepalive. Por defecto, los paquetes keepalive no se envían. Un programa puede activar esta función en una conexión.

El valor predeterminado para KeepAliveTime es de 2 horas. Esto parece demasiado largo. Si tengo una conexión de red inactiva, quiero saberlo y que la aplicación responda mucho antes de que transcurran 2 horas. No veo ningún problema con la configuración de este valor tan bajo como 5 minutos: el uso del ancho de banda sería insignificante.

¿Por qué el tiempo predeterminado para KeepAliveTime es tan largo y es seguro establecerlo en un número menor, por ejemplo, 5 minutos?

Jim
fuente

Respuestas:

1

Puede tener sentido reducir el tiempo de mantenimiento si está ejecutando un servidor que quiere saber si sus clientes aún están vivos, y su aplicación establece la opción de socket de mantenimiento. Establecer esto en 5 minutos es bastante razonable en ese caso.

Considere, por ejemplo, este consejo dado a los usuarios del software ESRI CAD sobre la configuración de keepalive: http://support.esri.com/ja/knowledgebase/techarticles/detail/25129

¿Importaría para su aplicación que un socket permanezca abierto durante 5 minutos o 2 horas?

obscurerichard
fuente
Es importante para una aplicación de procesamiento por lotes en particular que entra en estado suspendido cuando la conexión de red se cae. Puede recuperarse de una conexión perdida al volver a intentarlo, pero esperar dos horas significa que tiene mucho tiempo de inactividad antes de intentar volver a conectarse. Creo que voy a seguir adelante y configurarlo en 5 minutos.
Jim