Сократите время ответа сервера (TTFB)

Published on Updated on

Translated to: English, Español, Português, 한국어

В разделе Opportunities (Возможности) отчета Lighthouse указана метрика TTFB (Время ответа сервера) — это время, которое требуется браузеру пользователя на получение первого байта содержимого страницы.

Скриншот поверки Lighthouse «Сократите время ответа сервера (TTFB)»

Медленное время ответа сервера влияет на производительность

Эта проверка дает неудовлетворительный результат, если браузер ожидает ответа сервера на основной запрос документа более 600 мс. Пользователи не любят, когда страницы загружаются долго. Медленное время ответа сервера является одной из возможных причин долгой загрузки страниц.

Когда пользователи переходят по URL-адресу в браузере, браузер делает сетевой запрос для получения содержимого страницы. Сервер получает запрос и возвращает содержимое страницы.

Серверу может потребоваться проделать много работы, чтобы вернуть страницу со всем содержимым, которое нужно пользователям. Например, если пользователи просматривают историю своих заказов, серверу необходимо получить историю каждого пользователя из базы данных, а затем вставить этот контент на страницу.

Оптимизация сервера для максимально быстрого выполнения подобной работы — это один из способов сократить время, которое пользователи тратят на ожидание загрузки страниц.

Как улучшить время ответа сервера

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

Существует множество возможных причин медленных ответов сервера и, следовательно, множество возможных способов улучшения:

  • Оптимизируйте логику серверного приложения, чтобы быстрее подготавливать страницы. Если вы используете серверный веб-фреймворк, к нему могут прилагаться рекомендации, как это сделать.
  • Оптимизируйте то, как сервер запрашивает базы данных, или перейдите на более быстрые системы баз данных.
  • Модернизируйте серверное оборудование: увеличьте объем памяти или используйте более мощные ЦП.

Рекомендации по стекам

Drupal

Темы, модули и спецификации сервера влияют на время ответа сервера. Подумайте о поиске более оптимизированной темы, тщательном выборе модуля оптимизации или обновлении сервера. Серверы хостинга должны использовать кеширование операционного кода PHP, системы кеширования памяти, такие как memcached или Redis, чтобы сократить время запросов к базе данных, а также применять оптимизированную логику приложения для более быстрой подготовки страниц.

Magento

Используйте интеграцию Varnish с Magento.

React

Если вы выполняете рендеринг каких-либо компонентов React на стороне сервера, подумайте об использовании renderToNodeStream() или renderToStaticNodeStream(), чтобы позволить клиенту получать и обрабатывать различные части разметки, а не все сразу.

WordPress

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

Ресурсы

Last updated: Improve article

We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.