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

Скорость разрешения DNS

Я пытаюсь ускорить загрузку моей веб-страницы в удаленных местах.

Мой сервер находится в Германии, а второй я установил в Лос-Анджелесе, Калифорния.

Затем я настроил BIND для возврата IP-адреса LA для клиентов из Америки и немецкого IP-адреса для клиентов из Европы и Азии.

Хотя кажется, что еще есть возможность сократить время отклика на несколько десятков миллисекунд с DNS и серверами имен.

На данный момент оба сервера имен, которые обслуживают мое доменное имя, расположены в Германии, что, насколько я понимаю, вызывает задержки для клиентов, у которых нет кеша DNS для моего домена. Я здесь?

Я согласен с комментарием ceejayoz: если международное присутствие вызывает беспокойство, вам следует использовать поставщика DNS с международным присутствием. На практике это единственное экономичное решение проблемы, которую вы решаете. Тем не менее, то, что вы в первую очередь получаете от международного присутствия DNS, - это не низкое время ответа, а надежность, так как на ваше присутствие вряд ли повлияют серьезные проблемы с маршрутизацией между регионами.

  • Из-за кэширования DNS, которое должно происходить на уровне ISP для большинства ваших клиентов, попытка оптимизации DNS для достижения более быстрого времени загрузки страницы обычно является ошибочной проблемой. После поиска записи DNS последующие запросы запоминаются удаленным сервером в течение периода времени, привязанного к TTL записи. Прежде чем двигаться в этом направлении, убедитесь, что вы определили реальную проблему. (действительно ли здесь проблема с DNS? какая задержка? действительно ли это проблема сети?)
  • DNS разработан для обеспечения малой задержки и отказоустойчивости. Если только один из DNS-серверов не возвращает неверные данные или дизайн самой инфраструктуры DNS ошибочен, повышение производительности от решения этой проблемы с помощью инфраструктуры, которую вы используете, не очень рентабельно.
  • Авторитетный сервер имен выбран случайным образом. В отличие от DNS-сервера пересылки (обычно настраиваемого в вашей частной сети), большинство рекурсивных / кэширующих DNS-серверов будут не попытка запомнить, какой полномочный сервер вернул самый быстрый ответ для домена. Они будут пытаться избегать общение с более чем одним из ваших серверов имен, если только первый из них не ответил быстро. Oни воля помните, если сервер не отвечает на запрос, но не в течение периода более пяти минут, и только неудавшийся запрос не будет повторен для этого сервера. (другие по-прежнему честная игра)

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

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

Если я перенесу один из серверов имен в Лос-Анджелес, сократит ли это время разрешения DNS?

"Это зависит": для машин, запрашивающих этот сервер имен, которые расположены в Лос-Анджелесе: да. Для машин, запрашивающих этот сервер имен, которые расположены, например, в Германии, время разрешения увеличивается.

Если вы хотите проверить, где расположены запрашивающие машины, и передать топологически ближайший сервер имен, вам придется ввести, например, Anycast, который «представляет собой методологию сетевой адресации и маршрутизации, в которой дейтаграммы от одного отправителя направляются к топологически ближайшему узлу в группе потенциальных получателей, хотя они могут быть отправлены на несколько узлов, все идентифицируемые одним и тем же адресом назначения».

Каким образом выбирается сервер имен для запроса при разрешении имен?

AFAIK, это случайно. Это невозможно предугадать заранее.

Например. указаны два НС: ns1.domain.com который находится в Германии и ns2.domain.com который находится в США. какой будет запрашиваться? Поможет ли указать IP вместо ns1.domain.com?

Иногда вы получите ответ от ns1.domain.com, иногда из ns2.domain.com. Вы не можете предсказать это или повлиять на это.

В соответствии с RFC 1035, данные NS запись - «Доменное имя, которое указывает хост, который должен быть полномочным для указанного класса и домена.». Таким образом, вы не можете использовать IP вместо ns1.domain.com.

Редактировать: Может темы Практический Anycast и / или Как я могу отправлять посетителей на ближайший сервер с помощью DNS? Вам тоже могут помочь.