Улучшения DNS-резолвера?

Улучшения DNS-резолвера?

Недавно я наткнулся на следующую конфигурацию /etc/resolv.conf, которая должна/должна была увеличить скорость разрешения DNS:

nameserver 1.1.1.1
nameserver 2.2.2.2
nameserver 3.3.3.3
option rotate 
option timeout:1

Я имею в виду флаги "option", очевидно, помимо использования 3 DNS-серверов в конфигурации (обычно используются только два). Первый должен ротировать/циклически перебирать все 3 DNS-сервера, а последний должен устанавливать тайм-аут поиска на 1 с (по умолчанию, очевидно, 5 с). Мне просто интересно, использует ли кто-нибудь из вас эту конфигурацию и видите ли вы какие-либо улучшения? Некоторые говорят, что это вообще не поможет с улучшениями, но я не совсем понимаю, почему.

решение1

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

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

  1. Попробуйте свой первый сервер имен.

  2. Он пробует использовать основной сервер имен сайта.

  3. Основной тайм-аут.

  4. Ваш первый сервер имен пробует использовать вторичный.

  5. На это есть ответ.

  6. Вы получаете ответ.

Но с вашими изменениями происходит следующее:

  1. Вы пробуете свой первый сервер имен.

  2. Ваш первый сервер имен пытается использовать основной сервер имен сайта.

  3. Вы берете тайм-аут.

  4. Попробуйте использовать второй сервер имен.

  5. Ваш второй сервер имен пытается использовать основной сервер имен сайта.

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

  7. На втором сервере имен истекло время ожидания.

  8. Попробуйте третий сервер имен.

  9. Ваш третий сервер имен пытается использовать основной сервер имен сайта.

  10. Ваш второй сервер имен уже получил ответ, жаль, что время ожидания истекло.

  11. На третьем сервере имен истекло время ожидания.

  12. У вашего третьего сервера имен есть ответ, но вы его больше не слушаете.

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

решение2

Мой способ улучшить производительность DNS:

  1. Бегатьимябенччтобы найти для вас самого быстрого провайдера DNS.
  2. Сделанный.

Насколько мне известно, не существует волшебной локальной конфигурации для повышения скорости DNS-запросов. Но я вряд ли эксперт в этой теме.

решение3

IIRC, по умолчанию для первого опробованного DNS-сервера требуется две секунды, чтобы истечь тайм-аут перед попыткой следующего в списке, если нет ответа. Поэтому, похоже, что последний вариант сократит тайм-аут до одной секунды перед попыткой следующего в списке.

Другой вариант чередования DNS-серверов, которые будут проверяться первыми, будет полезен только в том случае, если они все работают одинаково быстро и вы пытаетесь сбалансировать нагрузку запросов.

Я бы использовал namebench, так какОливер упомянул, чтобы выяснить, насколько быстр каждый из них, и расположить их в списке в порядке скорости, а также удалить опцию поворота, если только они не настолько быстры друг с другом.

Связанный контент