TTFB (Time to First Byte) — это ключевой показатель, используемый для оценки времени отклика сервера и скорости доставки первой части данных браузеру. В контексте Web Vitals TTFB не является официальным «Core Web Vital», однако его измерение важно для понимания производительности серверной части и сетевого взаимодействия.
TTFB вычисляется как время от момента отправки браузером HTTP-запроса до получения первого байта ответа сервера. Состоит из трёх компонентов:
Итоговая формула выглядит так:
TTFB = DNS + TCP/TLS + Server Processing
Для корректного измерения TTFB важно учитывать не только серверную обработку, но и сетевые задержки между клиентом и сервером.
Для Web Vitals и общей оценки производительности веб-сайта используются следующие ориентиры:
Эти пороговые значения ориентированы на пользовательский опыт, так как TTFB напрямую влияет на Largest Contentful Paint (LCP) и скорость отображения критического контента.
performance.timing. В современных
браузерах рекомендуется использовать
performance.getEntriesByType('navigation'). Пример
получения TTFB:const [navigation] = performance.getEntriesByType('navigation');
const ttfb = navigation.responseStart - navigation.requestStart;
console.log(`TTFB: ${ttfb} ms`);
Web Vitals Library: библиотека
web-vitals предоставляет удобные функции для измерения LCP,
FID, CLS и других метрик, а TTFB можно получить через кастомное событие
или дополнительно измеряя
navigation.responseStart.
Серверные инструменты мониторинга: такие как New Relic, Datadog, Google Cloud Monitoring, позволяют измерять TTFB на серверной стороне, что даёт точную картину сетевых и серверных задержек.
Производительность сервера
Сеть и география
HTTP/2 и HTTP/3
Кэширование на уровне браузера и прокси
Cache-Control и ETag
снижает количество запросов к серверу, тем самым уменьшая TTFB для
повторных посещений.TTFB напрямую определяет, когда браузер сможет начать рендеринг страницы. Высокие значения TTFB вызывают задержку First Paint и Largest Contentful Paint, что приводит к ощущению медленного сайта. Даже если остальные метрики оптимизированы, высокий TTFB создаёт впечатление «тормозящего» веб-приложения.