Открыть сервис

Задержка передачи данных (latency)

Latency (от лат. latens — скрытый), или задержка — временна́я задержка между отправкой сигнала или запроса и моментом получения ответа или начала обработки в системе. В компьютерных сетях и телекоммуникациях latency измеряет время, необходимое пакету данных для прохождения от источника к получателю, и является одной из ключевых характеристик производительности сети наряду с пропускной способностью. В более широком смысле термин применяется для описания задержек в компьютерной архитектуре (память, шины), аудиообработке и периферийных устройствах.

Сущность и измерение

В сетевом контексте различают несколько компонентов общей задержки. Сетевая задержка (network latency) включает время передачи сигнала по физической среде (пропагация), время сериализации пакета (передачи битов в линию), время обработки на маршрутизаторах и коммутаторах (переключение, проверка контрольных сумм) и время ожидания в очередях буферов. Сквозная задержка (end-to-end latency) дополнительно учитывает задержки на хостах отправителя и получателя: обработку сетевым стеком операционной системы, планирование процессов и работу приложений.

Единица измерения — миллисекунды (мс). Для оценки используют утилиты ping (ICMP-эхо) и traceroute, а также специализированные тесты. Метрика RTT (Round-Trip Time) — время полного цикла «запрос-ответ» — наиболее распространена, однако важно учитывать, что она включает время обработки на стороне получателя и может отличаться от односторонней задержки (one-way latency), измеряемой синхронизированными часами.

Физический предел скорости распространения сигнала в оптоволокне составляет около 200 000 км/с (две трети скорости света в вакууме). Это накладывает теоретический минимум задержки: для расстояния Москва — Франкфурт (~2000 км) он составляет около 10 мс, для трансатлантического канала (~8000 км) — около 40 мс в одну сторону.

Причины возникновения

Задержка складывается из нескольких физических и логических факторов:

  • Пропагация — конечная скорость света в среде передачи. Основной неустранимый компонент для больших расстояний.
  • Сериализация — время, необходимое для перевода пакета в битовый поток. Зависит от объёма пакета и скорости интерфейса (например, пакет 1500 байт на гигабитном канале сериализуется за ~12 мкс).
  • Коммутация и маршрутизация — обработка заголовков, поиск в таблицах маршрутизации, коммутация. На современных высокопроизводительных маршрутизаторах составляет единицы микросекунд на узел.
  • Буферизация (queueing)ожидание в очередях на перегруженных узлах. При перегрузке может составлять миллисекунды и более; явление переполнения буферов получило название bufferbloat.
  • Обработка на хостах — прерывания, планировщик задач, работа протокольного стека, задержки приложений (например, ожидание ввода-вывода).

Виды задержек в различных системах

Сетевые технологии и протоколы

Разные технологии вносят различную задержку. Спутниковый интернет на геостационарной орбите (~36 000 км) даёт задержку 250–600 мс из-за огромного расстояния. Низкоорбитальные спутниковые системы (Starlink, OneWeb) снижают её до 20–50 мс. Оптоволоконные сети имеют минимальную задержку среди проводных технологий. Кабельные сети (DOCSIS) характеризуются задержкой 10–30 мс в пределах города, DSL — 15–50 мс. Сотовая связь: 4G LTE даёт 30–60 мс, 5G в идеальных условиях — 1–10 мс.

Протокол TCP вносит дополнительную задержку за счёт механизма установления соединения (тройное рукопожатие) и управления перегрузкой. Алгоритм Нейгла объединяет мелкие пакеты, что увеличивает задержку интерактивного трафика; в ряде приложений его отключают. Протокол QUIC, используемый в HTTP/3, уменьшает задержку установления соединения за счёт совмещения транспортного и криптографического рукопожатий.

Компьютерная архитектура

В вычислительных системах latency обозначает время доступа к памяти, дискам и периферии. Задержка оперативной памяти (CAS Latency) измеряется в тактах и составляет десятки наносекунд. Задержка твердотельных накопителей NVMe — десятки микросекунд, жёстких дисков — миллисекунды (включая время позиционирования головок). Кэш-память L1 имеет задержку около 1 нс, L2 — около 4 нс, L3 — около 12 нс. Разница в несколько порядков между скоростью процессора и памятью компенсируется многоуровневым кэшированием и предвыборкой.

Аудио и ввод-вывод

В аудиопроизводстве latency — задержка между входным сигналом и его обработкой/выводом. Высокая задержка (более 10–20 мс) воспринимается музыкантами как задержка эха и делает исполнение невозможным. В мониторах и телевизорах задержка ввода (input lag) — время от нажатия кнопки до изменения изображения; геймерские мониторы обеспечивают 1–5 мс, обычные телевизоры — 10–50 мс.

Влияние на приложения

Чувствительность к задержке зависит от типа приложения:

  • Онлайн-игры (шутеры, MOBA, гонки) — критичны к задержке; значение более 100 мс заметно ухудшает игровой опыт. Серверы располагают максимально близко к игрокам.
  • Видеоконференции — задержка более 150 мс затрудняет диалог, возникает эффект «перебивания».
  • Финансовая торговлявысокочастотный трейдинг требует минимальной задержки; компании размещают серверы в непосредственной близости от биржевых движков (colocation) и используют микроволновые линии связи.
  • Веб-серфинг — исследования показывают, что увеличение задержки на 100 мс снижает конверсию сайтов; задержка более 1 секунды при загрузке страницы заставляет пользователей уходить.
  • Стриминг — видеопоток буферизуется, поэтому задержка менее критична, но для интерактивных трансляций (киберспорт, аукционы) важна низкая задержка.
  • Телефония и VoIP — задержка более 150 мс в одну сторону воспринимается как эхо и нарушает естественность разговора.

Методы снижения

Снижение задержки достигается на разных уровнях:

  • Географическое приближениеразмещение серверов и CDN (сети доставки контента) ближе к пользователям; использование PoP (точек присутствия) по всему миру.
  • Оптимизация протоколов — применение UDP вместо TCP для реального времени, использование QUIC, отключение алгоритма Нейгла, настройка окон TCP.
  • Сетевые технологии — приоритизация трафика (QoS), предотвращение bufferbloat (активное управление очередями, AQM), использование выделенных каналов.
  • Аппаратные решения — для финансовых сетей используются микроволновые и даже лазерные линии связи, обеспечивающие меньшую задержку, чем оптоволокно (за счёт большего показателя преломления воздуха).
  • Оптимизация приложений — предварительная загрузка данных, параллельные соединения, предсказание действий пользователя.

Измерение и мониторинг

Для измерения задержки в производственных системах используются распределённые системы мониторинга, отправляющие синтетические запросы из разных точек мира. Метрика apdex (Application Performance Index) — стандарт измерения удовлетворённости пользователей, основанный на доле запросов, уложившихся в целевое время. В микросервисной архитектуре задержка каждого вызова агрегируется и анализируется с помощью трассировки (например, Jaeger, Zipkin).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →