Статьи

Тест Route 53: новые удивительные результаты AWS Geolocation

Маршрут 53 Геолокация против латентности 


Задержка и геолокация: тестирование конфигураций DNS в нескольких регионах EC2 с использованием AWS Route 53


Если вы используете стек AWS, вы, вероятно, прошли через это: решить, какой экземпляр EC2 запустить и в каком регионе их развернуть, сложно.
Некоторые из вас могли запустить несколько экземпляров EC2 за балансировщиком нагрузки — но этого почти никогда не бывает достаточно. Наши австралийские друзья не должны ждать ресурсов из Вирджинии. Что нам действительно нужно, так это простое в использовании глобальное решение. Именно здесь Amazon DNS-маршрутизация 53 пригодится. Добавление политик маршрутизации в ваш домен поможет гарантировать, что пользователи получат самые быстрые ответы, и, как мы все знаем, скорость == счастье. В конце июля 2014 года Amazon объявил о новой политике маршрутизации Route 53: Geolocation. Мы являемся большими сторонниками маршрутизации на основе задержек, поэтому мы хотели проверить новую политику.


Полученные результаты

Так как цель этого теста состоит в том, чтобы разобраться в DNS, мы рассмотрели время поиска имени DNS. Мы использовали curl для определения продолжительности каждого шага. Вот среднее время поиска из регионов EC2:

Среднее время поиска DNS из регионов EC2


Полные результаты можно найти здесь .


Insights

  1. Тесты показывают, что переход к геолокации добавляет в среднем 75 мс — очень высокий показатель, особенно если вы пытаетесь оптимизировать свой кластер и опыт первого пользователя.
  2. Если мы исключим Сан-Паулу из списка в целом, мы получим впечатляющее среднее время поиска 127 мс по другим регионам для обеих политик. Я дважды проверил цифры, чтобы убедиться, что это не мираж. Ровно 1 2 7 мс, независимо от того, используете ли вы геолокацию или задержку. На нашем тесте EC2-> S3 был выгнан Сидней, а на трассе 53 — Сан-Паулу.
  3. Самый большой победитель — Европа. У него был самый низкий поиск по задержке, самый низкий поиск по геолокации и самая низкая разница между задержкой и геолокацией — всего 3 мс!
  4. Внизу списка — Сан-Паулу показал худшее. Он пришел последним по всем трем критериям: латентность, геолокация и разница. Поиск геолокации в Южной Америке занял в 3 раза больше времени поиска.
  5. При приближении к Северной Америке самым быстрым поиском имени в латентности и геолокации была Калифорния. Самой медленной была Вирджиния, которая имела второе по величине различие между латентностью и геолокацией. Геолокация в наших тестах была примерно в 1,5 раза медленнее.
  6. Геолокация была быстрее в Орегоне, Калифорнии и Сингапуре. Задержка была быстрее в Вирджинии, Европе, Японии и Бразилии.

Настройка теста

EC2 — Мы развернули простое веб-приложение Tomcat / Nginx в экземплярах EC2 (m3.medium) во всех доступных регионах AWS (кроме бета-области Китая). Веб-приложение содержало несколько Java-сервлетов, которые возвращали HTTP_OK 200 по запросу. 

Маршрут 53 — Мы заранее приобрели два домена. Один для латентности и один для геолокации. AWS предлагает отличные документы по настройке наборов записей для
маршрутизации на основе
задержек и
геолокации . Для задержки мы перенаправили домен во все регионы, где работает EC2. Для геолокации мы перенаправили каждый континент в ближайший регион. 
Bash — после настройки всех экземпляров мы запустили этот фрагмент, чтобы проверить время поиска доменов. Мы решили посмотреть только время поиска, так как время соединения, показанное curl, составляло ~ 1 мс и не изменило результаты.

sudo /etc/init.d/nscd restart ## Restarting the DNS on Ubuntu so we won’t have cache
curl –no-sessionid -s -w ‘\nLookup time:\t%{time_namelookup}\n’ -o /dev/null http://takipi-route53-testing-{latency|geo}.com/webapp/speed/normal ## Measuring name lookup time

Вывод

Здесь не было победителя нокаутом. Хотя маршрутизация на основе задержки оказалась быстрее, в некоторых случаях маршрутизация на основе геолокации работала лучше. Самый быстрый средний поиск был основан на латентности из Европы. В конце концов, если вам не требуется какая-либо специфическая для страны маршрутизация, то преимуществом политики маршрутизации DNS является (все еще) маршрутизация на основе задержек.