Назад | Перейти на главную страницу

Насколько важно географическое расположение DNS-серверов?

Мы начали запускать собственные DNS-серверы, расположенные в Азии, поскольку именно там находится наша основная аудитория. Однако кажется, что некоторые пользователи в США иногда испытывают трудности с доступом к нашему сайту. Я сам заметил, что поиск DNS нашего домена из США относительно медленный (более 500 мс). Возможно, проблемы, с которыми сталкиваются некоторые пользователи, связаны с другими ошибками конфигурации DNS, но насколько в целом проблема заключается в географическом расположении DNS-серверов? Стоит ли иметь дополнительный сервер в США?

Что может быть актуально, так это TTL вашей зоны. Если у вас высокий TTL, зона будет жить в кешах в течение более длительного периода времени, и ваши клиенты с большей вероятностью будут их получать.

Конечно, есть недостатки с высоким TTL, наиболее заметным из которых является то, что изменения распространяются дольше. Я предлагаю прочитать идеи Крис Гонье и статью о DNS / TTL на Цитракс Больше подробностей.

Поиск DNS нашего домена из США относительно медленный (более 500 мс).

Это не азия - это хреновый провайдер.

Я сам в европе. Моя задержка с американскими машинами составляет 150 мс, 125 мс от немецкого центра обработки данных до моих машин в Чикаго.

Сейчас я не понимаю, как Азия может быть более чем в 5 раз больше, чем Германия. Даже если вы маршрутизируете трафик из Азии через Европу (что глупо с самого начала), это все равно слишком много.

В конце концов, проблема не в географическом положении, а в плохом подключении провайдера.

ЭТО СКАЗАНО: добавление сервера в США не поможет, поскольку DNS-серверы выбирают циклический перебор - это поможет только тогда, когда вы создадите реальное решение для многоадресной IP-рассылки.

Я бы предложил передать DNS некоторым специализированным компаниям. Дешевле, и они решат все за вас.

Но ПОЛОВИНА СЕКУНДЫ - это уже слишком. Слишком много.

Расположение ваших DNS-серверов более или менее важно в зависимости от вашего сценария.

Вот некоторые идеи:

  • Задержка DNS имеет меньшее значение для веб-приложений, поскольку большинство браузеров в настоящее время выполняют предварительную выборку DNS.
  • несколько редких DNS-серверов лучше, чем несколько расположенных в вашем центре использования
  • большинство преобразователей DNS выбирают сервер для запроса на основе ранее измеренного времени ответа
  • вы можете ожидать среднюю задержку 200 мс для DNS
  • По нашему опыту, диапазон качества маршрутизации среди азиатских провайдеров огромен.
  • для разрешения A с сервера имен B ожидайте t = X / 50 [миллисекунды], где X - приблизительное расстояние в километрах.

При этом 500 мс из США в Азию (где именно?) Звучит слишком много. Вы можете протестировать известные DNS-серверы, расположенные в Азии (например, f.ns.buddyns.com), чтобы получить нижнюю границу возможной задержки.

  1. Передача вашего DNS-сервера какой-нибудь хорошей DNS-компании позаботится об этом, как посоветовал TomTom, вероятно, лучшее решение (хотя есть цена).

  2. Подумайте об увеличении TTL ваших записей, см. Ответ Томми.

  3. Это является Хорошая идея - располагать DNS-серверы ближе к вашим клиентам. Сделай это. Это часто ускоряет разрешение DNS для части ваших посетителей. Ближайший сервер имен будет использоваться чаще других (но все же не всегда).

    BIND 9 использовал простой метод измерения с затуханием, чтобы гарантировать, что для решения запросов используется самый известный сервер. Если один сервер для домена находился на расстоянии 10 мс, а другой - 80 мс, BIND 9 чаще всего использовал бы сервер 10 мс, но все же периодически пробовал бы тот, который находился дальше. (Источник:Блог ISC)

  4. Задержка вашего азиатского сервера может зависеть от азиатского интернет-соединения. Поговорите со своим азиатским провайдером и, возможно, спросите других тамошних провайдеров, могут ли они помочь вам уменьшить задержку. 500 мс действительно кажется слишком много. (Кстати, если под азией вы имеете в виду китай, там есть какой-то брандмауэр, может он добавляет задержку?) Может попробовать traceroute чтобы узнать, что вызывает задержку.

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

Я проверил нашу базу данных (которая включает в себя серверы имен со всего мира), и 500 мс - это немного больше 3 процентилей с точки зрения скорости, так что это очень медленно и довольно необычно для службы DNS.