Реактивное ускорение

Реактивное ускорение Айри

Ежедневно инженеры Айри анализируют скорость подключенных к облаку сайтов, чтобы выявить новые методы ускорения, и эффективно их внедрить. Одним из таких методов является «Реактивное ускорение».

Проблема: большое время ответа от сервера

Первые 2-3 секунды загрузки сайта самые критичные. Задержки именно в это время обходятся дороже все для бизнеса. Основные усилия оптимизаторов скорости сайта направлены именно на эту область.

Одной из наиболее серьезных проблем оптимизации стадии «белого экрана» в загрузке сайта является время ответа сервера. Хостинг сайта (сервер) может отвечать достаточно долго — 1-2 секунды — на запрос. И пользователи начнут чувствовать психологический дискомфорт при общении с сайтом. К сожалению, простых методов для ускорения именно хостинга, практически, не существует: нужно либо серьезно вкладываться в оборудование, либо переписывать «движок» сайта.

Но возможно альтернативное решение проблемы.

Flush: «сброс» данных в браузер пользователя

Достаточно давно известна техника «сброса» данных в браузер пользователя, когда мы можем показать пользователю некоторую статическую часть страницы (например, заголовок и дополнительные ресурсы для загрузки), а «тяжелую» часть отправить немного позже. Это создаст эффект быстрого отклика сайта и позволит увеличить допустимое время ответа от сервера без ущерба для пользовательского восприятия.

Данная техника будет хорошо работать, если все таблицы стилей сайта находятся только в head-секции страниц, и как только HTML-страница целиком будет получена, браузер ее сможет отрисовать без дополнительных запросов к сайту.

Для примера ниже страница сайта загружается в обычном режиме

Обычная загрузка сайта

А здесь реализован «сброс» части страницы без потери ее содержания или функционала. Задержка во времени ответа сервера, в том числе, идет на загрузку дополнительных файлов страницы (стилей и скриптов), и как только браузер получает финальный HTML-код, браузер может отрисовать страницу без дополнительных задержек. Чистый «выигрыш» в разнице обычного и «реактивного» режима составляет 1,5-2 секунды (чуть меньше времени ожидания ответа от хостинга).

Реактивное ускорение

Реактивное ускорение Айри

Для решения описанной проблемы в Айри используется три техники:

  • «Быстрый сброс» страницы в браузер пользователя. Визуально пользователь моментально (в течение 100-300 мс) получает в браузере индикатор загрузки страницы (в этом время браузер загружает требуемые ресурсы сайта и основное содержание).
  • Индикатор загрузки сайта, который визуально ускоряет загрузку сайта.
  • Отложенная загрузка скриптов сайта. Для дополнительного ускорения сайта при отрисовке страницы загружаются только самые необходимые скрипты. Все остальные (которые, в том числе, могут блокировать отрисовку страницы в браузере) загружаются уже после отрисовки в отложенном режиме асинхронно.

Включить данный режим для сайта (рекомендуется, если время ответа хостинга более 0,5 с) можно в настройках сайта. он доступен с тарифного плана Юпитер.