Пакеты Keepalive - каковы разумные настройки для KeepAliveTime?

629
Jim

Параметр контролирует, как часто TCP пытается проверить, что свободное соединение все еще не повреждено, отправляя пакет keepalive. Если удаленный компьютер все еще доступен и функционирует, удаленный компьютер подтверждает передачу активности. По умолчанию пакеты keepalive не отправляются. Программа может включить эту функцию при подключении.

По умолчанию для KeepAliveTime составляет 2 часа. Это кажется слишком длинным. Если у меня нет подключения к сети, я хочу знать об этом, и приложение ответит на него гораздо раньше, чем через 2 часа. Я не вижу проблем с установкой этого значения на уровне 5 минут - использование полосы пропускания будет незначительным.

Почему значение KeepAliveTime по умолчанию такое длинное и безопасно ли устанавливать его на меньшее значение, например 5 минут?

0

1 ответ на вопрос

1
obscurerichard

Возможно, имеет смысл уменьшить время поддержки активности, если вы используете сервер, который хочет знать, все ли его клиенты еще живы, а ваше приложение устанавливает опцию сокета поддержки активности. В этом случае достаточно установить 5 минут.

Рассмотрим, например, этот совет для пользователей программного обеспечения ESRI CAD по настройке keepalive: http://support.esri.com/ja/knowledgebase/techarticles/detail/25129

Будет ли иметь значение для вашего приложения, что сокет остается открытым в течение 5 минут или 2 часов?

Это имеет значение для конкретного приложения пакетной обработки, которое переходит в состояние зависания при разрыве сетевого подключения. Он может восстановить сброшенное соединение, повторив попытку, но ожидание в течение двух часов означает, что у него много времени простоя, прежде чем он попытается восстановить соединение. Я думаю, что я собираюсь пойти дальше и установить его на 5 минут. Jim 9 лет назад 0