한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Анатомия игровых лагов › L4 Интернет-маршрут

Задержка распространения (физическое расстояние) Propagation delay

ID причины isp-distance · Основной ответственный Команда инфраструктуры · Серверная инфраструктура · Совместно Команда инфраструктуры · Сетевая инфраструктура, Команда разработки · Разработка сервера

Открыть карточку в основной версии с иллюстрациями и экспериментами →

Даже свет в оптоволокне проходит всего около 200 000 km в секунду. Если сервер далеко, задержка будет большой, каким бы хорошим он ни был.

Почему Сервер далеко (зарубежный сервер, другой континент) → Следствие Время пути туда и обратно растёт с расстоянием (не меньше 10 ms на каждые 1 000 km) → На экране Постоянная задержка ввода на каждое действие, невыгодное положение при проверке попаданий

Симптомы
Задержка ввода
Факторы
Задержка
У кого
Один регион или провайдер
Когда
Всегда
Ответственные
Основной ответственный Команда инфраструктуры · Серверная инфраструктура · Совместно Команда инфраструктуры · Сетевая инфраструктура, Команда разработки · Разработка сервера
Команда разработки: задачи
Законы физики кодом не исправить, можно только смягчить последствия: дать игроку выбрать ближайший региональный сервер, компенсацией задержки (отмоткой времени назад) уменьшить невыгодное положение при проверке попаданий.
Команда инфраструктуры: задачи
Серверы и ОС: ставить региональные серверы там, где много игроков. Сеть: размещать точки подключения (edge) ближе к игрокам, выбирать линии и маршруты с минимальными обходами.
Цифры для ориентира
Сеул–Токио около 30 ms, Сеул–Сингапур около 75 ms, Сеул–запад США около 140 ms, Сеул–Европа около 230–270 ms (туда и обратно, по реальным маршрутам). Вдоль прямой до Европы почти нет крупных кабелей, и трафик идёт через Юго-Восточную Азию и Суэц или через США, поэтому задержка намного больше, чем следует из расстояния.
На графике
Высоко с самого начала · RTT (по странам и регионам)
Где смотреть
Определить страну по IP подключения и посмотреть распределение RTT по странам, измерить ping и traceroute до сервера с VM в ближайшем к этой стране облачном регионе или с зондов RIPE Atlas (их выбирают по стране и ASN)
Подтверждает
RTT для далёких стран высокий в любое время суток и близок к минимальной задержке по расстоянию (10 ms туда и обратно на 1 000 km) и к публичной статистике задержек
Опровергает
Если RTT намного выше, чем объясняет расстояние, это «Неоптимальная маршрутизация», если растёт только по вечерам, это «Перегрузка пиринга в часы пик»
Чем проверить
Инструменты инфраструктуры (игровой код не нужен)
Реальные инциденты
Riot Games 2015: Обходные маршруты трафика League of Legends и Riot Direct

Источники

  1. ITU-T G.114: One-way transmission time ITU
    Значение для планирования: задержка распространения по оптоволокну 5 µs/km (около 200 000 km в секунду, 10 ms туда и обратно на 1 000 km)
  2. Azure network round-trip latency statistics Microsoft Azure
    Медианы измеренного времени туда и обратно от Сеула (Korea Central): Токио 30 ms, Сингапур 68 ms, запад США 124–136 ms, Европа 234–244 ms
  3. AAE-1 & SMW5 cable cuts impact millions of users across multiple countries Cloudflare
    Трафик между Европой и Азией обычно идёт по подводным кабелям через Египет (Суэц)
  4. Probe Selection (RIPE Atlas REST API) RIPE NCC
    Зонды для измерений RIPE Atlas выбирают по стране, региону, ASN или диапазону адресов и запускают с них ping и traceroute

Смотрите также

Тот же слой: L4 Интернет-маршрут

Причины с тем же симптомом (Задержка ввода) на других слоях

Карточка в основной версии с иллюстрациями и экспериментами