Что такое RTT и почему это важно?
Round Trip Time (RTT) — время прохождения сигнала до другой стороны соединения и обратно. Оно влияет на сетевые задержки, но не равно полному времени ответа: добавляются DNS, установление соединения, работа сервера и передача данных. Параллельные запросы не складывают по одному RTT последовательно.
Как RTT влияет на Web Vitals
- LCP: задержки HTML и критических ресурсов могут отложить появление основного содержимого.
- INP: измеряет отклик до следующей отрисовки, а не завершение асинхронного запроса. Выдача поиска может задержаться без ухудшения INP — измеряйте оба времени.
- TTFB: включает не только сетевой обмен, но и другие затраты, например работу сервера и установление соединения. Сам TTFB не входит в Core Web Vitals.
- CLS: поздний ресурс может сдвинуть макет, если для него не оставили места. Высокий RTT сам по себе не означает сдвиг.
Типичные источники высокого RTT
- Сервер далеко от аудитории или есть лишний переход от CDN к backend.
- Критические запросы или редиректы зависят друг от друга и выполняются цепочкой.
- Создаются новые соединения вместо возможного повторного использования.
- Важные сторонние ресурсы обнаруживаются поздно.
- Сервер долго формирует ответ: по общему времени это можно принять за сетевую проблему.
Как снижать RTT на практике
- Сравните регионы и рассмотрите CDN или вычисления ближе к аудитории. Проверьте, какие ответы действительно обслуживаются на edge.
- Сравните поддерживаемые HTTP/2 и HTTP/3. Они не устраняют физическое расстояние; у HTTP/2 остаётся блокировка на уровне TCP.
- Кешируйте версионированную статику. Для HTML и API учитывайте актуальность и конфиденциальность.
- Используйте
<link rel="preconnect">,dns-prefetchи предзагрузку шрифтов только для подтверждённых критических ресурсов. Подсказки готовят загрузку, но не уменьшают физический RTT. - Уберите лишние запросы и отложите некритичный JavaScript. Для подходящего контента ниже первого экрана используйте lazy loading; LCP-изображения так откладывать не следует.
- Сократите редиректы, используйте соединения и TLS-сессии повторно, где это поддерживается. Возможность 0-RTT и настройки сертификатов проверяйте для конкретного окружения.
Как использовать результаты Milten для исследования RTT
- В сетевой диагностике сравните доступные значения RTT, задержки сервера и пропускной способности по origin. Это наблюдения в условиях конкретного прогона.
- Изучите подсказки загрузки и водопад запросов, особенно ресурсы до LCP/FCP. Отсутствующая подсказка — повод проверить гипотезу, а не обязательное исправление.
- Отделите обработку на сервере от транспортной задержки.
- Повторяйте сканирование после релизов. Для сравнения местоположений уточните доступные настройки регионов и сохраните одинаковые условия; один прогон не описывает весь мир.
Краткий чеклист исправлений
- Найдите медленный origin и критическую цепочку запросов.
- Проверьте фактический протокол браузер–edge и отдельное соединение edge–origin, если оно есть.
- Добавляйте только полезные подсказки соединения и предзагрузки.
- Сократите ненужные редиректы, сохранив правильный конечный URL.
- При кешировании и stale-while-revalidate соблюдайте требования актуальности и защиты данных.
- Сравните несколько сопоставимых прогонов и подходящие полевые данные.
Начните с измерения
Запустите Speed Scanner Milten, разберите сетевые замечания и выберите подтверждённое узкое место. Сохраните исходный результат и условия, внесите одно изменение и повторите сравнение.
