Идеальный период ожидания для поиска DNS - PullRequest
2 голосов
/ 14 июня 2010

В моем приложении rails я делаю nslookup, используя библиотеку ruby ​​resolv.Если введен такой сайт, как dgdfgdfgdfg.com, значит, он слишком длинный, чтобы его разрешить.в некоторых случаях, например, 20 секунд (в основном для несуществующих сайтов), поскольку это приводит к замедлению работы приложения.Так что я хотя бы о введении периода ожидания для поиска DNS.Каким будет идеальный период ожидания для поиска DNS, чтобы разрешение действительного сайта не перестало работать.будет что-то вроде 10 сек, будет хорошо?

Ответы [ 2 ]

4 голосов
/ 14 июня 2010

Нет обязательного значения IETF, хотя §6.1.3.3 из RFC 1123 предлагает значение не менее 5 секунд.

Perl Net::DNS и утилита командной строки dig делают по умолчанию 5 секунд между попытками. Некоторые версии распознавателя Microsoft отображаются с по умолчанию равным 3 секундам.

2 голосов
/ 14 июня 2010

Вы можете запустить несколько тестов среди пользователей, чтобы найти правильное число, которое может повлиять на скорость отклика / производительность.

Также вы можете динамически регулировать это время ожидания в зависимости от сетевого трафика.

Например, для каждого успешного resolv вы экономите время, затрачиваемое на его разрешение. И каждый час (например) вы можете рассчитать среднее значение и установить двойное значение в качестве таймаута (помните, что «среднее», грубо говоря, «среднее») Таким образом, если ваша задержка высока в какой-то момент, она автоматически подстраивается, чтобы увеличить период ожидания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...