Уменьшение числа DNS-запросов

В статье "Reduce DNS Lookups" приведены рекомендации по оптимизации запросов к DNS-серверам.

Система доменных имен (DNS) отображает соответствие имени хоста определённому IP-адресу, также, как телефонные книги отображают соответствие телефонных номеров именам людей. Когда Вы набираете в браузере www.yahoo.com, преобразователь DNS-адресов, контактирующий с браузером, возвращает IP-адрес этого сервера. Выполнение DNS-запроса тратит определённые ресурсы. Для DNS обычно требуется 20-120 миллисекунд для поиска IP-адреса, соответствующего данному хосту. Браузер не может ничего загружать с этого хоста, пока не будет завершен DNS-поиск.

Для повышения производительности DNS-поиск кэшируется. Это кэширование может происходить на специальном сервере кэширования, который поддерживается интернет-провайдером пользователя или локальной сетью, но есть также кэширование, которое происходит на компьютере индивидуального пользователя. Информация DNS остаётся в кэше DNS операционной системы ("Служба" DNS-клиент "на Microsoft Windows). Большинство браузеров имеет свой собственный кэш, отдельный от кэша операционной системы. Пока браузер хранит DNS-запись в своём собственном кэше, он не обращается к операционной системе с запросами этой записи.

По умолчанию Internet Explorer хранит в кэш результаты DNS-запросов в течение 30 минут, согласно настройкам DnsCacheTimeout хранит их в кэш в течение 1 минуты, согласно настройкам Network.dnsCacheExpiration (Эту настройку Fasterfox можно изменить до 1 часа.)

Когда кэш DNS клиента пуст (как браузера, так  и операционной системы), количество DNS-запросов равно количеству уникальных хостов на web-странице. Сюда входят хосты, используемые в URL, в картинках, в файлах сценариев, в таблицах стилей, Flash-объектах страницы и т.д. Сокращение количества уникальных хостов уменьшает количество DNS-запросов.

Уменьшение количества уникальных хостов имеет потенциал для уменьшения количества параллельных загрузок, происходящих на этой странице. Сокращение DNS-запросов сокращает время отклика, а вот сокращение параллельных загрузок может увеличить его. Мой совет: разбить эти компоненты между по крайней мере двумя, но не более четырьмя хостами. В результате получается неплохой компромисс между сокращением DNS-запросов и увеличением параллельных загрузок.

 

Оригинал статьи на developer.yahoo.com

Перевод КОМТЕТ komtet.ru

Вам также может помочь