Домашний тест DNS-провайдеров

Почитав отзывы на только что запущенный Google Public DNS, решил потратить немного времени и разобраться — что же действительно будет быстрее и надежнее? У любого пользователя интернета есть выбор — пользоваться провайдерскими DNS-серверами или сервисами типа OpenDNS, UltraDNS и вот теперь запущенным сервисом Google.

Как раз подоспел релиз неплохой утилитки для замера скорости ответа DNS на локальном компьютере — namebench. Программка умная, сама вытаскивает из кэша браузера домены, актуальные для данного пользователя и генерирует список для правильного тестирования. Можно в качестве источника доменов указать топ Алексы.

Собственно, вооружился я позже скажу чем и приступил.

namebench: 2009-12-06 15:31:52.609978

Первый тест неинтересный — он сделан на 100 мегабитном подключении. Хотя результат в этом измерении и немного неожиданен — победил сервис UltraDNS, но это понятно — локальный DNS в роутере сетки ограничен по возможностям кэша, поэтому в тех случаях, когда ему требуется сходить в вышестоящий сервис, он однозначно проигрывает, а высокая скорость подключения сводит на нет его преимущества. В повторных измерениях случались и победы локального роутера, а когда вместо него был указан непосредственно сервер провайдера, UltraDNS смирился со вторым местом.

Но тест все равно неинтересный — разница в результатах сервисов абсолютно неощутима при использовании и вся укладывается в 17 миллисекунд — не всякое широкополосное подключение таким пингом может похвастаться. Поэтому я решительно отключил в ноутбуке wi-fi и ухудшил коннект — включив модем МТС-Коннект и подняв CDMA EV-DO соединение.

namebench: 2009-12-06 14:49:37.103324

Результат более предсказуемый — при вполне удовлетворительном коннекте и не очень узкой полосе (порядка мегабита в обе стороны) побеждают серверы провайдера. Даже если им приходится сходить на вышестоящий уровень за данными, все равно канал от них в остальную сеть гораздо быстрее, чем тот, которым пользуется локальная машина. Обратите внимание, что остальные сервисы идут достаточно плотно.

Для очистки совести проверим, а как же дело обстоит с другим 3G — втыкаем модем с карточкой Utel и тестируем на гораздо более асимметричном канале (386кБит UL/3,6 мБит DL).

namebench: 2009-12-06 14:57:30.944514

Тут тоже побеждают провайдерские серверы — по той же причине. Порядок следования остальных сервисов, вероятно, больше определяется коннективностью конкретного провайдера — UltraDNS как европейская компания просто ближе Укртелекому.

С широкополосными подключениями все понятно, поэтому переходим к смертельному номеру — включаем EDGE от Киевстара.

namebench: 2009-12-06 15:18:46.979864

Результат абсолютно предсказуемый — провайдерский сервис выигрывает и тут.

Однако мне таки удалось добиться поражения провайдерских серверов. Для этого я выбрал в качестве выборки топ Алексы и получил вот такое:

namebench: 2009-12-06 15:28:44.609095

Разумеется, другого результата и ждать нельзя было — ведь я не хожу на сайты из топа Алексы и этих доменов просто нет в кэше моего локального роутера. Ему практически за каждым доменом приходилось ходить в один или два вышестоящих уровня DNS, хотя для нескольких доменов результат у него был свой и он отвечал за пару миллисекунд.

Давайте сделаем вывод — для среднего пользователя интернета с достаточно определенным кругом посещаемых сайтов никакого выигрыша в скорости при использовании внешних сервисов DNS не наступает. Большинство нужных ему доменов есть в кэше домашнего роутера или сервера провайдера, а необходимость сходить за некоторыми доменами выше ему, скорее всего, даже не будет заметна. Мне было не очень интересно переконфигурировать сетку, настраивая роутер на разные внешние сервисы, но подозреваю, что это единственный вариант, который будет и быстрым и надежным. По возможности проверю.

И напоследок — как видно из замеров, из внешних сервисов сервис Google не самый быстрый.