Что такое TTFB и как его улучшить
Сейчас практически для любого веб-ресурса важно работать быстро. Высокая скорость загрузки улучшает пользовательский опыт, увеличивает показатели взаимодействия со страницей и, как итог, повышает конверсию в действие. Это показывают многие исследования.
Но скорость загрузки — это довольно обширное понятие, которое включает в себя множество разных метрик. Одна из них — TTFB (Time To First Byte).
Давайте разбираться, что это за метрика, насколько она важна, как её измерить и улучшить.
Что такое Time To First Byte
Time To First Byte («время до первого байта») — это промежуток, прошедший с момента отправки запроса до получения 1-го байта информации. В некоторых источниках показатель также называют временем ответа сервера (Server Response Time).
За этот временной отрезок отправитель и получатель совершают следующие действия:
- Клиент отправляет сообщение.
- Сервер получает и обрабатывает его.
- Отвечает на него.
Параметр может измеряться как для всей страницы в целом, так и для каждого её элемента. Разные элементы могут загружаться с разных источников, и поэтому время ответа будет отличаться. Большинство инструментов, позволяющие измерить параметр, показывают именно значение для всей страницы.
На что влияет TTFB
Это важная метрика, от которой зависят определённые параметры и загрузка сайта в целом. Значит, Time To First Byte влияет на:
- Конверсию. Одно из недавних исследований показало, что каждая дополнительная секунда к загрузке уменьшает конверсию на 4,42%. Медленные ресурсы пользователи не любят.
- Поисковое ранжирование. Один из ведущих специалистов в сфере интернет-маркетинга Нил Патель в своём исследовании обнаружил, что низкий Time To First Byte напрямую коррелирует с топовыми позициями в поисковой выдаче.
Конечно, это всего лишь один из сотен факторов, влияющих на SEO и конверсию. Но мы считаем, что он достаточно важен, чтобы не упускать его из внимания. Улучшение этой метрики будет одним из шагов к улучшению пользовательского опыта и ранжирования в поисковиках.
От чего зависит TTFB
Так как показатель складывается из передачи запроса и ответа по сети и временных затрат на обработку, то факторы, влияющие на конечное значение метрики, можно разделить на два типа.
1. Особенности сети и доставки контента:
- Расстояние. Большое расстояние пакет будет проходить медленно.
- Маршрутизация. Чтобы информация была доставлена успешно и достаточно быстро, важно построить кратчайший маршрут.
2. Настройки и параметры веб-сервера:
- Производительность сервера. Он должен быстро обработать запрос для формирования ответного сообщения. Чтобы здесь не возникало задержек, железо должно легко справляться с нагрузкой.
- Оптимизация настроек. Быстрота обработки может снижаться из-за ошибок в настройках, например из-за слишком маленького размера буферов или ошибок в настройках времени ожидания. Ещё может быть отключено кеширование, что тоже может негативно влиять.
- Работа с базами данных. Если для загрузки требуется получить какое-то количество информации из баз данных, на это тоже уходит определённое время.
- Вызовы API. Некоторым системам для загрузки требуется обращение к различным API.
- Тип контента. Чтобы отдать статический контент, как правило, требуется меньше временных затрат, чем на отдачу динамического. Динамический контент надо ещё генерировать. Плюс часто такой контент нельзя кешировать. Значит, браузеру каждый раз, когда он выполняет запрос, нужно посылать его на сервер. В случае со статикой часть информации можно предварительно сохранить в кеш и взять оттуда, 1-й байт загрузится быстрее.
Каким должен быть TTFB
Большинство специалистов отмечают в качестве необходимых значений 100–200 миллисекунд, но в некоторых случаях вполне реально добиться показателей на уровне 50–100 мс.
Величина | Что обозначает |
100-200 мс | Хороший результат, улучшения не обязательны |
200-600 мс | Допустимо, но есть возможность для оптимизации |
600-1 000 мс | Есть проблемы, Google PageSpeed Test, скорее всего, выдаст уведомление, требующее улучшения |
1 000+ мс | Большие проблемы, указанные значения требуют срочных мер: медленный темп загрузки заметен пользователям |
Нил Патель, исследование которого мы уже упоминали, характеризует значения Tme To First Byte примерно так же.
Google предлагает не превышать 600 мс. Если значение больше, мы советуем заняться соответствующими улучшениями, не откладывая.
Как измерить TTFB
Есть большое количество разных инструментов.
Waiting (TTFB) в Google Chrome
Показатель можно самостоятельно посмотреть на любом устройстве в браузере Google Chrome. Здесь для удобства он демонстрируется для каждого загружаемого элемента в отдельности.
- Откройте страницу в браузере.
- Откройте «Дополнительные инструменты» > «Инструменты разработчика» или используйте горячие клавиши: F12 или Ctrl+Shift+I (Alt+Command+I для Mac).
- Зайдите на вкладку Network («Сеть»).
- Обновите страницу, и вы увидите статистику загрузки каждого элемента.
Кликните на один из запросов и переключитесь на вкладку Timing. Там и будет указано искомое значение.
Или можно просто навести указатель мыши на диаграмму напротив запроса в разделе Waterfall, и вы увидите то же самое.
Как ускорить Waiting (TTFB), мы расскажем ниже.
Google Analytics
Если вы уже пользуетесь этим сервисом, самым простым решением для вас будет его использование. Нет необходимости искать дополнительные сторонние приложения.
- Зайдите в раздел Behavior.
- Перейдите в Site Speed.
- Кликните на Overview.
WebPageTest
Ещё один довольно простой сервис, с помощью которого можно проанализировать метрику.
1. Задаём параметры. Надо указать ссылку на сайт, тестовую локацию, браузер. Затем нажмите Start Test.
Тестовая локация требуется, чтобы указать, откуда будет идти сообщение. Для разных локаций результаты будут отличаться. Например, если источник контента находится в Германии, а информация запрашивается из Китая, сообщение будет идти дольше, чем из Франции, потому что расстояние от Германии до Китая больше.
2. Смотрим результат. Когда анализ завершится, переключитесь на раздел Details. В начале вы увидите общую табличку с метриками. Требуемая нам будет наверху.
3. Изучаем детальную информацию. Дальше вы увидите разбивку на запросы. Можете нажать на любой и увидеть детальные данные.
TTFB Test от Geekflare
Это специальный тест, созданный для проверки именно нашего параметра. Максимально простой инструмент. Укажите ссылку на сайт и нажмите TEST TTFB. Результат будет выглядеть так:
Мы перечислили самые популярные и удобные инструменты, но далеко не все. Сервисов для проверки очень много — выбирайте любой, какой больше подходит вам.
Как сократить TTFB
Высоким показатель может быть по разным причинам. Поэтому советы можно дать разные, и во многом они будут зависеть от конкретной ситуации. Назовём основные моменты, которые помогут устранить часть проблем.
- Подключите CDN. Её основная функция — сокращать расстояние и ускорять доставку контента. Очень часто проблема бывает именно в отсутствии CDN. Важно, чтобы в рамках CDN использовался быстрый DNS.
- Попробуйте сократить количество запросов. Передавайте данные по протоколу HTTP/2, объединяйте несколько файлов в один, используйте CSS-спрайты и другие приёмы.
- Разместите доменные имена на ближайших к пользователям DNS-серверах. Браузеру для связи с источником потребуется получить его IP-адрес. Для этого он связывается с DNS-сервером. И чем короче расстояние до него, тем быстрее будет получен IP.
- Измените настройки. Попробуйте увеличить размер буферов, отладьте политику кеширования и другие настройки. В открытом доступе можно найти много гайдов, детально описывающих конфигурацию настроек конкретного веб-сервера, но мы советуем поручить это дело опытному специалисту.
- Перейдите на более мощное железо. Возможно, машина не справляется с нагрузкой, и необходимо что-то помощнее.
- Оптимизируйте работу с базами данных. Если требуется обращение к БД, проверьте, насколько быстро извлекаются необходимые данные. Оптимизируйте запросы к базе, настройте индексы, кешируйте самые частые ответы.
Подробнее о том, как сократить долгое время ответа, читайте в нашей статье «Как увеличить скорость работы веб-ресурса».
Подведём итоги
- TTFB — период от момента отправки запроса до получения 1-го байта информации от него.
- Это важная метрика загрузки сайта. Она влияет на другие метрики, а следовательно, на конверсию и SEO-продвижение.
- На показатель влияет множество факторов — темп передачи данных по сети, конфигурация железа, нагрузка, работа с базами данных и API и тип контента.
- Согласно рекомендациям Google, значение не должно быть больше 600 мс. Но даже если у вас оно меньше, это не значит, что над показателем не надо работать. Нет предела совершенству.
- Есть много инструментов для измерения показателя. Самые популярные и удобные — Google PageSpeed Insights, Google Analytics, WebPageTest и TTFB Test от Geekflare.
- Чтобы сократить Time To First Byte, нужно добиться более быстрой обработки данных, а данные быстрее передавались по сети. Один из способов, который может помочь, — подключение CDN.
EdgeCDN обеспечивает почти мгновенную доставку контента. Средняя зарежка в нашей сети — 30 мс.
У нас есть 14 дней тестового периода. Подключите нашу CDN и сами убедитесь в эффективном ускорении вашего веб-ресурса.