Время, а не объём
Латентность это время, за которое данные проходят путь от отправителя до получателя. Измеряют её в миллисекундах. В отличие от скорости в мегабитах, которая говорит о том, сколько можно передать за секунду, латентность показывает, как быстро первый бит достигнет цели. Пропускная способность сравнима с шириной трубы, а латентность с её длиной.
Поэтому канал на гигабит между континентами может ощущаться медленнее, чем гораздо более скромный внутри города: для интерактивных задач решающим оказывается время реакции.
Из чего складывается задержка
Есть четыре основных компонента. Задержка распространения определяется физикой: свет в оптоволокне движется примерно на треть медленнее, чем в вакууме, так что путь в тысячу километров занимает около пяти миллисекунд в одну сторону. Задержка передачи зависит от размера пакета и скорости канала. Задержка обработки возникает на маршрутизаторах, где проверяются заголовки и принимаются решения. Задержка в очередях появляется при загрузке: пакеты ждут, пока освободится канал.
Первая составляющая неустранима, остальные поддаются оптимизации. Именно очереди дают большую часть скачков в загруженных сетях, о чём говорит страница про bufferbloat.
Что от неё зависит
Чувствительнее всего к задержке интерактивные задачи: онлайн-игры, видеозвонки, удалённый рабочий стол, работа в терминале. При стабильных 20–40 миллисекундах ничего не заметно, при сотне и больше появляется ощутимая вялость. Загрузка страниц тоже зависит от латентности: браузеру нужно множество последовательных запросов, каждый из которых ждёт ответа, так что даже быстрый канал не спасает от задержки.
Передача больших файлов относительно нечувствительна к ней, но и здесь есть влияние. TCP наращивает скорость постепенно, и при большой задержке разгон занимает дольше.
Как измерить
Простейший способ, ping: он показывает время полного цикла до узла. Для анализа пути используют traceroute, где по строкам видна задержка до каждого промежуточного узла. Скачок на одном стыке указывает на проблемный участок.
При измерениях важно смотреть не только на среднее значение, но и на разброс, то есть джиттер, и на потери. Ровные 50 миллисекунд лучше, чем то 10, то 200. Проводите несколько замеров в разное время суток, потому что вечерняя нагрузка нередко меняет картину.
Как снизить
Первое, что доступно пользователю: перейти с Wi-Fi на кабель, если беспроводная сеть перегружена или далека от роутера. Второе: не перегружать канал, пока идёт чувствительная активность, ведь параллельная загрузка создаёт очередь. Третье: включить в роутере интеллектуальное управление очередями, если оно есть.
Снизить физическую составляющую можно, выбрав ближайший сервер. Если сервис имеет несколько регионов, сокращение расстояния снижает время отклика. Всё остальное зависит от провайдера и маршрута, и здесь остаётся только сообщить оператору данные трассировки.
Латентность в разных сетях
Проводной Ethernet в пределах здания даёт доли миллисекунды. Домашний Wi-Fi добавляет от одной до нескольких миллисекунд, и в загруженном эфире заметно больше. Оптоволоконный интернет обычно показывает низкие значения до серверов провайдера, а кабельные и старые ADSL-каналы более высокие. Мобильные сети LTE и 5G имеют собственную задержку радиоинтерфейса: у 5G она может быть ниже, но зависит от конфигурации сети оператора.
Спутниковый доступ с геостационарной орбиты имеет задержку порядка полусекунды из-за расстояния до орбиты и обратно, тогда как низкоорбитальные системы значительно быстрее. Эти различия объясняют, почему для одних задач допустима любая среда, а для других, вроде игр и удалённой работы, нужен канал с низкой и стабильной задержкой.
Полезно также помнить о скрытых источниках задержки: медленный DNS-сервер добавляет время перед каждым новым соединением, а перегруженный сервер приложений отвечает с паузой независимо от состояния сети. Чтобы отделить сетевую часть от остальной, сравните время ping до сервера с общим временем ответа страницы: разница показывает, сколько уходит на обработку.
Знание этих составляющих помогает трезво оценивать обещания: улучшить скорость канала можно быстро, а вот сократить задержку получается далеко не всегда.