Что такое TTFB и как улучшить этот показатель

TTFB

В переводе с английского аббревиатура TTFB расшифровывается как Time To First Byte (время до получения первого байта).

  • показатель задержки в передаче данных между браузером и сервером;
  • показатель степени загрузки сервера;
  • показатель скорости генерации контента движком сайта.
Чтобы назвать сайт оптимизированным, он должен соответствовать следующим требованиям:
1
отвечать клиентским запросам как можно быстрее;
2
быть правильно сконструированным и простым в использовании;
3
быть доступным для людей с различными физическими недостатками;
4
использоваться независимо от потребительского браузера – легко обнаруживается современными поисковыми машинами.

Что влияет на TTFB

Сетевые проблемы и задержки, объем входящего трафика, настройки веб-сервера, объем и оптимизированность контента (качество графики,размер css/js/html). Быстрая загрузка страницы зависит как от оптимизации клиентского кода HTML / CSS / JavaScript, так и от работы сервера.

Не на все вышеперечисленные моменты можно легко повлиять.

Инструменты для анализа

Чтобы проверить скорость ответа сервера можно использовать следующие инструменты:

  • отладчик в браузере
  • данные из Google Analytics
  • Google Page Speed Insights
  • Netpeak Spider
  • webpagetest.org

Как улучшить показатель TTFB

Оптимизировать работу с базой данных

При формировании страниц сервер каждый раз обращается к базе данных, получая необходимую информацию. Запрос занимает определенное время — чем больше запросов, тем дольше генерируются страницы. Чтобы уменьшить количество запросов к базе данных, можно хранить готовый ответ в кэше — вместо пяти запросов будет выполнен всего один.

Выбрать более производительный сервер

Причиной долгого ответа сервера может быть недостаток производительности. Слабый процессор или малый объем оперативной памяти приводят к медленной работе или «падению» сайта, поэтому необходимо оставлять потенциал для непредвиденных скачков нагрузки. Не стоит размещаться на бесплатных хостингах, либо на хостингах с ограниченными возможностями. Позаботьтесь о будущем и используйте VPS или выделенные серверы — это лучшее решение для масштабируемых проектов.

Использовать акселераторы PHP

Каждый раз при загрузке страницы сервер обрабатывает PHP-файлы, но часто при загрузке выполняется один и тот же участок кода. Акселераторы PHP позволяют уменьшить TTFB путем предварительной компиляции PHP-кода. Это снизит нагрузку на процессор, но потребует большего объема оперативной памяти.

Популярные акселераторы:

  • Alternative PHP Cache (APC);
  • eAccelerator;
  • PhpExpress;
  • Windows Cache Extension for PHP;
  • XCache;
  • Zend OPcache.

Использовать серверное кэширование

При отсутствии кэширования страниц сервер генерирует запрашиваемую страницу при каждом обращении пользователя. Если кэшировать страницу целиком, то при последующем обращении пользователя к файлу сервер не будет генерировать страницу заново, а отдаст пользователю уже сгенерированную страницу.

TTFB с отключённым кэшированием:

Вывод

Если TTFB больше 200 мс:

  • оптимизируйте работу с базой данных;
  • используйте более производительный сервер;
  • используйте акселераторы PHP;
  • настройте серверное кэширование страниц.
В результате можно уменьшить время ответа сервера в 5-10 раз.