10 из 15 конфигураций серверов в наличииМгновенная выдачаБез платы за установку

Сеть7 мин чтения

Как выбрать локацию сервера: задержка, маршруты и законодательство

Свет в оптоволокне проходит около 200 км за миллисекунду. Как расстояние, маршрутизация, точки обмена трафиком, подводные кабели и законы о защите данных должны влиять на выбор места для вашего сервера.

Автор: команда DediJet

В этой статье

Локация — одно из немногих инфраструктурных решений, которые потом не исправишь более быстрым процессором. Расстояние между сервером и пользователями задает нижнюю границу задержки, которую не устранит никакое оборудование, а от страны, где находятся данные, зависит, какие правила к ним применяются. Разберемся, как учитывать и то и другое, — по той же формуле, что лежит в основе наших оценок задержки.

Физика: около 200 км за миллисекунду

В оптическом волокне свет распространяется со скоростью около двух третей от скорости в вакууме: примерно 200 000 км в секунду, или 200 км за миллисекунду. Запрос и ответ преодолевают расстояние дважды, поэтому каждые 1 000 км между вами и пользователями добавляют как минимум 10 мс ко времени прохождения сигнала туда и обратно (RTT).

Реальные маршруты длиннее, чем на карте. Кабели проложены вдоль побережий, железных и автомобильных дорог; трафик переходит из сети в сеть в определенных точках стыка; BGP выбирает маршруты исходя из коммерческих политик, а не географии. Маршрутизаторы добавляют немного задержки на каждом хопе. Поэтому в наших расчетах задержки расстояние по дуге большого круга умножается на 1,3 с поправкой на обходные маршруты, делится на 200 км/мс, результат удваивается для пути туда и обратно, и к нему прибавляется 2 мс на работу оборудования:

Формула
estimated RTT (ms) = 2 × (distance in km × 1.3 / 200) + 2
Откуда → кудаРасстояние по большому кругуМинимум по волокну (по прямой)Расчетное RTT
Торонто → Нью-Йорк≈ 550 км5,5 мс≈ 9 мс
Мадрид → Лондон≈ 1 260 км12,6 мс≈ 18 мс
Мумбаи → Сингапур≈ 3 900 км39 мс≈ 53 мс
Нью-Йорк → Лондон≈ 5 570 км55,7 мс≈ 74 мс
Сан-Паулу → Майами≈ 6 570 км65,7 мс≈ 87 мс
Сидней → Сингапур≈ 6 310 км63,1 мс≈ 84 мс
Сидней → Лос-Анджелес≈ 12 080 км120,8 мс≈ 159 мс
Франкфурт → Сингапур≈ 10 260 км102,6 мс≈ 135 мс

Это оценки, а не результаты измерений: перегрузка или непрямой маршрут могут добавить гораздо больше, а обратный путь может отличаться от прямого.

Почему задержка (RTT) важнее пропускной способности

Большинство взаимодействий в интернете — это серия циклов «туда и обратно», и каждый из них упирается в скорость света:

  • Установка соединения. Новое HTTPS-соединение поверх TCP тратит один цикл на TCP-рукопожатие, еще один — на рукопожатие TLS 1.3 и еще один — на сам запрос, и только потом приходит первый байт ответа. Три цикла при расчетных 20 мс занимают 60 мс, а при 150 мс — 450 мс.
  • Медленный старт TCP. Новое соединение начинает с отправки примерно 10 пакетов (около 14 КБ) и с каждым циклом примерно удваивает этот объем. Чтобы передать так 1 МБ, нужно около семи циклов при любой скорости порта: примерно 140 мс при RTT 20 мс и больше секунды при 150 мс.
  • Страницы и API. Страница, которая загружает сначала HTML, потом CSS, потом шрифты, выстраивает циклы в цепочку. API-клиент, который делает 20 последовательных вызовов, платит RTT 20 раз.
  • Базы данных. Каждый запрос к базе обходится минимум в один цикл. Если для ответа на одно обращение приложение выполняет 30 запросов к базе друг за другом, на ожидание уходит 30 RTT: внутри одной локации, где цикл обычно занимает намного меньше миллисекунды, это пренебрежимо мало, а при 80 мс — 2,4 секунды.
  • Игры. RTT — это тот самый пинг, который видят игроки. Тикрейт сервера определяет, как часто обновляется мир, а пинг — насколько устаревшим каждое обновление доходит до игрока.

Поэтому сервер рядом с пользователями часто ощущается быстрее, чем более мощный, но далекий.

Сначала пользователи, потом данные

  1. Определите, где ваши пользователи. По логам сервера сгруппируйте трафик или игроков по странам или агломерациям и присвойте каждой группе вес по тому, что важно для вас: выручке, числу активных игроков или договорным обязательствам.
  2. Оцените RTT от каждой группы до каждой подходящей локации с помощью проверки задержки и выберите локацию, при которой большинство пользователей с учетом весов укладывается в ваш целевой показатель.
  3. Размещайте вычисления рядом с данными. Если ваша база данных, объектное хранилище или сторонние API, к которым вы часто обращаетесь, находятся в одном регионе, размещайте там же и серверы приложений. Интенсивный обмен между приложением и базой обычно чувствительнее к задержке, чем трафик между пользователем и приложением.
  4. Разносите инфраструктуру по локациям, только если одна локация не может хорошо обслужить всех. Аудитории, рассредоточенной по Европе, Азии и обеим Америкам, обычно нужно больше одной локации.

Точки обмена трафиком и подводные кабели

Почему одни города становятся лучшими узлами связи, чем другие, объясняют два элемента общедоступной инфраструктуры.

Точки обмена трафиком (IXP) — это площадки, где сети передают трафик друг другу напрямую. Там, где встречается много сетей, пути между ними, как правило, короткие. Хорошо это видно на примере Европы: во Франкфурте находится DE-CIX, в Амстердаме — AMS-IX, в Лондоне — LINX, три из крупнейших точек обмена трафиком в мире.

Подводные кабели переносят почти весь трафик между континентами, а выходят на берег лишь в нескольких регионах:

  • Нью-Йорк — классический регион выхода трансатлантических кабелей, ведущих в Великобританию и континентальную Европу.
  • Майами — главные ворота между Северной Америкой, Карибским регионом и Латинской Америкой.
  • Лос-Анджелес и остальное западное побережье США служат опорными точками многих транстихоокеанских маршрутов в Азию и Океанию.
  • Сингапур связывает Юго-Восточную Азию с Индией, Австралией, Ближним Востоком и Европой.
  • Токио находится на азиатском конце многих транстихоокеанских кабелей и служит главным узлом межсетевого обмена Японии; расчетная задержка до Сеула — 17 мс.

Сеть DediJet использует мультихоминг: каждая локация подключена к нескольким транзитным провайдерам по BGP через резервированные аплинки. И все же хорошая связность города не гарантирует короткого пути до каждого пользователя, поэтому измерения так важны.

Закон: где хранятся ваши данные

От локации сервера зависит и то, где физически находятся ваши данные, а это может иметь значение с точки зрения регулирования или договоров. Несколько фактов, от которых можно оттолкнуться в разговоре с юристами:

Локации DediJetЮрисдикцияОсновное законодательство о защите данных
Франкфурт, АмстердамЕвропейский союз (Германия, Нидерланды)GDPR, а также национальные законы
ЛондонВеликобританияUK GDPR и Закон о защите данных (Data Protection Act) 2018 года
Нью-Йорк, Майами, Лос-АнджелесСШАФедеральные отраслевые нормы, например HIPAA для медицинских данных, и законы штатов, например CCPA в Калифорнии
СингапурСингапурЗакон о защите персональных данных (PDPA)
ТокиоЯпонияЗакон о защите персональной информации (APPI)
  • Дело не только в локации. GDPR распространяется на организации, учрежденные в ЕС, а также на тех, кто предлагает товары или услуги людям в ЕС или отслеживает их поведение, — независимо от того, где стоит сервер. Хостинг во Франкфурте не снимает обязательств, а хостинг в Нью-Йорке не позволяет их избежать.
  • У передачи данных есть правила. GDPR, UK GDPR, сингапурский PDPA и японский APPI ограничивают передачу персональных данных за рубеж, если страна назначения не обеспечивает сопоставимого уровня защиты и не применяются иные гарантии, например договорные положения или согласие.
  • Договоры могут быть строже закона. Заказчики из госсектора, здравоохранения и финансовой сферы могут требовать, чтобы данные оставались в определенной стране или регионе.

Примечание. Это общая информация, а не юридическая консультация. Как эти правила применяются к вашим данным, уточните у квалифицированного юриста.

Когда одной локации мало

  • Региональные серверы. Игровые сообщества и SaaS-продукты с пользователями на нескольких континентах часто держат по серверу в каждом регионе, рядом с пользователями, а направляют людей к нужному серверу с помощью GeoDNS или региональных имен хостов вроде eu.example.com.
  • Асинхронная репликация между регионами. Синхронный коммит ждет ответа реплики как минимум один цикл туда и обратно: между Франкфуртом и Сингапуром это расчетные 135 мс. Держите синхронные реплики в той же локации, а в удаленную реплицируйте асинхронно.
  • Шифрованные каналы между локациями. Бесплатная приватная VLAN, которая предоставляется по запросу, соединяет ваши серверы в пределах одной локации. Между локациями трафик идет через публичный интернет, поэтому защищайте его с помощью WireGuard или IPsec.
  • Резервные копии — в другом месте. Храните хотя бы одну копию бэкапов за пределами локации основного сервера.
  • Одинаковое оборудование везде. Ryzen 5 7600 и Ryzen 7 9700X доступны во всех 8 локациях, поэтому парк серверов в нескольких регионах остается однородным.

Трафик репликации между регионами тоже не тарифицируется по гигабайтам: на любом тарифе трафик безлимитный в пределах скорости порта.

Сначала оцените, потом измерьте

Начните с проверки задержки, чтобы отобрать подходящие локации для городов ваших пользователей, а затем посмотрите, что есть в наличии в каждой из наших 8 локаций. Когда сервер заработает, измерьте реальный маршрут оттуда, где находятся ваши пользователи:

Shell
mtr -rwc 50 203.0.113.10
ping -c 20 203.0.113.10

mtr объединяет traceroute и ping, поэтому видно, на каком участке маршрута появляются задержка или потери пакетов. Как читать вывод, объясняет наше руководство по тестированию сети. Благодаря помесячной оплате и отсутствию долгосрочных обязательств переезд в более удачную локацию — это миграция, а не переговоры по договору.

Серверы из этой статьи

Сравнить их бок о бок
Попробуйте на реальном оборудовании

Серверы в наличии готовы к работе менее чем за 2 минуты после подтверждения оплаты. Без платы за установку, отмена в любой момент.

Смотреть серверы