Сервис Google Page Speed обращает особое внимание на значение времени ответа сервера и отмечает, что оно должно составлять не более 0.2 секунды. В этом материале рассмотрим, какие факторы влияют на время ответа сервера и как его сократить для сайтов на Joomla.

Что такое время ответа сервера?

Время ответа сервера является одним из самых важных факторов, по которым сервис Google Page Speed определяет степень оптимизации веб-страниц на предмет скорости загрузки.

Согласно документации Google Page Speed:
Время ответа сервера — время с момента отправки запроса до момента получения первого байта с вычетом задержки сети.

В других сервисах для проверки скорости загрузки этот параметр может называться Время получения первого байта (Time to First Byte или First Byte Time).

Каким должно быть время ответа сервера?

Согласно документации Google Page Speed:
Время ответа сервера не должно превышать 200 мс.

Если значение фактора составляет более 200 мс, то в результатах проверки содержится рекомендация «Сократите время ответа сервера»:

Значение степени оптимизации скорости загрузки в сервисе от Google может сильно варьироваться в зависимости от одного лишь значения времени ответа сервера: чем выше значение фактора, тем ниже значение степени оптимизации.

Как сократить время ответа сервера?

Полезно знать!
Первый фактор, влияющий на время ответа сервера — это мощность сервера. Чем выше мощность, тем быстрее сервер обрабатывает запросы и отправляет запрашиваемые страницы (ответы).

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

Для размещения сайта на более мощном сервере можно поменять хостинг-провайдера или тариф хостинга, но прежде стоит повлиять на факторы, позволяющие уменьшить нагрузку на сервер:

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

Кэширование ресурсов в браузере

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

Конфигурация сервера

Подразумеваются версии PHP, MySQL и самого сервера: чем выше версия ПО, тем выше производительность.

Актуальные версии Joomla 3.x созданы под PHP 7, и скорость загрузки сайтов на Joomla 3, работающих на PHP 5.x, будет ниже.

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

Кэширование динамических страниц на сервере

Динамические страницы обрабатываются сервером медленнее из-за выполнения PHP-скриптов и обращений к базе данных, в результате чего формируется HTML-страница. Как следствие, при увеличении числа запросов к сайту в единицу времени нагрузка на сервер значительно возрастает. Именно так работают сайты на Joomla и любых других CMS.

Полезно знать!
Значительно сократить время ответа сервера для Joomla позволит активация серверного кэширования веб-страниц целиком или частично, что сделает их относительно статическими HTML-страницами, для создания которых не требуется обращаться к базе данных.

Настройка серверного кэширования в Joomla требует индивидуального подхода в зависимости от типа сайта, подробнее читайте здесь.

Перераспределение ресурсов

Сбалансировать нагрузку на сервер можно с помощью перераспределения ресурсов веб-страниц:

  • Видео и аудио

    Рекомендуется не размещать эти файлы на своём сервере, а использовать специализированные сервисы: YouTube, Vimeo, SoundCloud.

  • Комментарии

    При большом количестве комментариев также рекомендуется использовать соответствующие сервисы: Disqus, IntenseDebate, cackle.me.

  • Изображения и JS-файлы

    Эти ресурсы по возможности лучше размещать на CDN.

Смена хостинга или хостера

Если перечисленные выше методы не помогут, то спасёт лишь смена сервера: тарифа или хостинг-провайдера. В этом случае имейте ввиду:

  1. Виртуальный хостинг — самый нестабильный тариф, т. к. на сервере кроме вашего сайта размещается еще много других сайтов, которые могут значительно замедлять работу сервера.
  2. При выборе хостера обращайте внимание на характеристики серверов и up-time (процент времени бесперебойной работы).
  3. Самым оптимальным вариантом в соотношении цена/качество является виртуальный выделенный сервер (VPS): время ответа сервера не будет зависеть от других сайтов, т. к. на сервере будет размещен только ваш сайт.
    Кстати, у вас есть возможность воспользоваться бесплатным VPS на месяц, подробности здесь.
  4. Если вы решитесь арендовать выделенный сервер (не VPS), то имейте ввиду, что его необходимо настраивать (VPS не надо настраивать).
Упоминаемые термины:

Joomla, PHP, CMS, MySQL