Что такое рекомендуемое время ожидания соединения Ping и URL? - PullRequest
0 голосов
/ 11 марта 2010

В настоящее время я занимаюсь сетевым программированием и у меня есть пара вопросов относительно тайм-аутов.

Есть ли рекомендуемое время ожидания при выполнении пинга?

Кроме того, есть ли рекомендуемое время ожидания для установления URL-соединения?

Edit: в моем случае, с пингом, я просто пытаюсь увидеть, подключено ли устройство к сети. При подключении по URL-адресу я пытаюсь открыть URL-адрес и получить от него текст.

Спасибо

Ответы [ 3 ]

2 голосов
/ 11 марта 2010

Это зависит от того, куда вы собираетесь подключиться.

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

Если вы подключитесь к коробке на другом континенте, это совсем другая история. Потеря пакетов, переполненные маршруты и соединения могут замедлить соединение. Время ожидания 30-х или 60-х звучит справедливо.

Кроме того, вы должны подумать, действительно ли ваш клиент хочет подождать 60 секунд. Другой пример, если вы подключаетесь к веб-сервису, чтобы обслуживать HTTP-запрос от пользователя. Ожидание 60 секунд не имеет особого смысла, так как пользователь все равно отменит / оставит запрос. Кроме того, такие блокирующие вызовы службы могут привести к тому, что большое количество ожидающих потоков заполняет пул потоков на вашем сервере - не очень хорошая вещь. В этом случае я бы установил тайм-аут на 10 секунд и скорее рискнул бы, чтобы какая-то «служба недоступна» или подобная страница была выброшена пользователю, как только веб-служба станет медленной.

0 голосов
/ 11 марта 2010

Как вы ожидаете, что ваша сеть будет вести себя? Это будет определять, как вы оцениваете поведение соединений и когда ожидаете тайм-аут.

например. Сколько сетевых скачков будет выполнять ваш пинг? Насколько загружены эти устройства в обычном сценарии?

0 голосов
/ 11 марта 2010

В общем, я установил тайм-аут для запроса на 60 секунд (это зависит от того, сколько потоков файлов вы пропускаете через запрос).

Существует два типа пингов. Активные эхо-запросы, когда вы фактически пропингуете компонент pingable при запросе, и пассивные эхо-запросы, когда вы пропингуете компонент в фоновом режиме и просто возвращаете кэшированное состояние при запросе. В моем приложении я по-прежнему устанавливаю эти тайм-ауты на 60 с, но если вы думаете, что хотите быстро работать без сбоев, не стесняйтесь устанавливать меньшее число.

...