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

В разделе «Возможности» вашего отчета Lighthouse указано время ответа сервера — время, которое требуется браузеру пользователя для получения первого байта содержимого страницы после выполнения запроса:

Скриншот: время ответа сервера Lighthouse соответствует низкому уровню аудита.

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

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

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

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

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

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

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

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

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

Используйте CDN, чтобы уменьшить задержку в сети. Это особенно эффективно, если документ можно кэшировать на граничном узле CDN.

Дополнительные сведения см. в руководстве по оптимизации TTFB .

Рекомендации для конкретного стека

Друпал

Разгрузите трафик с помощью одного или нескольких модулей кэширования Drupal , таких как Internal Page Cache , Internal Dynamic Page Cache и BigPipe . Соедините их с CDN, чтобы еще больше улучшить время отклика. Ваши хостинг-серверы должны использовать PHP OPcache. Рассмотрите возможность использования кэширования в памяти, такого как Redis или Memcached, чтобы сократить время запросов к базе данных. Наконец, используйте производительные темы, модули и более быстрые серверы, чтобы сократить время ответа сервера.

Магенто

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

Реагировать

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

WordPress

Выберите облегченную тему (в идеале блочную тему) и внедрите полностраничное кэширование или статическое решение для сайта. Отключите ненужные плагины, чтобы минимизировать нагрузку на сервер.

Рассмотрите возможность обновления вашего хостинга до управляемого или выделенного сервиса.

Ресурсы