ускорение сайта

Экстремальное ускорение Drupal-сайта на виртуальном хостинге

Drupal: 
Уровень сложности: 

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

# RewriteCond %{HTTP_COOKIE}

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

Настроить кэширование для анонимов и авторизванных на виртуальном хостинге или сервере

Drupal: 
Уровень сложности: 

Этим занимается модуль Authcache. В нём есть несколько модулей для кэширования различных типов данных: представлений, блоков, меню, комментариев, полей, форм. Я использовал его в связке с File Cache, включив при этом Authcache Builtin Storage Backend. В результате на виртуальном хостинге скорость работы сайта стала очень комфортной.

Cache Expiration

Модуль предлагает настраиваемые опции работы с кэшем, при которых Друпал будет реагировать на события и удалять старые элементы кэша.

Модуль интегрирован и работает с модулями кэширования:

Boost, Varnish, Fastly, Purge, Acqui Purge, Memcache Storage, Akamai.

В пакет с этим модулем включены и подмодули:

Panels Cache Expiration - работает с обновлением кэша Панелей (Panels) при настройке событий на странице модуля Cache Expiration.
Nodequeue Expiration - функции обновления кэша страниц на основе событий типа node queues.

File Cache

Модуль, который позволяет Друпалу сохранять кэш в файлы, не использую базу данных (что ускоряет чтение кэша).

Может использоваться на виртуальном хостинге, не требует установки серверных компонентов.

Commerce Authcache

Commerce Authcache позволяет модулю Drupal Commerce работать с модулем Authcache.

Части Commerce, с которыми модуль уже работает

  • Корзина Commerce

Части, которые требуют доработки модуля

Вероятно, много.

Authenticated User Page Caching (Authcache)

Authcache позволяет кэшировать страницы как для анонимных пользователей, так и для авторизованных пользователей. Это уменьшает время отработки PHP-функций Друпала до уровня 1-2 миллисекунд при генерации страниц, существенно сокращая потребление ресурсов сервера.

Authcache подходит для сайтов с динамическим содержимым и блоками, например, для Интернет-магазинов. Commerce Authcache кэширует корзину.

Simple Cache

Модуль Simple Cache для авторизованных и анонимных пользователей.

Сохраняет HTML всей страницы в таблице кэша и работает с ним, когда отработают все функции ядра Drupal, исключая работу функций шаблона, и так сохраняет время.

Страницы кэшируются с параметрами URL и пользовательская роль.

Преимущества:

Better Cache

Это усовершенствованный модуль, расширяющий стандартный функционал кэширования.

Проблемы стандартного кэширования
Стандартный кэш в Drupal не учитывает время создания материала и обновляется регулярно для всего сайта.
Если в разделе Конфигурация - Производительность установить время жизни кэша 7 дней и создать страницу в конце истечения этого срока, то кэш этой страницы будет удалён, даже если этот кэш прожил всего 2 минуты.

Данный модуль делает кэширование умнее, решает две главные задачи

Views custom cache

Модуль расширяет настройки кэширования Представлений Views. Позволяет кэшировать все аргументы или только выбранные аргументы.

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

Преимущества модуля:

  • настройки продолжительности жизни кэша,
  • настройки кэша для роли,
  • хорошо работает с AJAX-пагинацией,
  • хорошо работает с поиском Search API Представлений.

Views content cache

Этот модуль работает с Представлениями, для которых установлены настройки кэширования. Views content cache обновляет кэш Представления, в настройках которого вы установили опцию Кэширование - На базе содержимого. Тогда результаты вывода этого Представления будут обновляться каждый раз при наступлении событий:

  1. добавлен комментарий
  2. добавлен материал определённого типа
  3. при голосовании (Voiting API)

С этим модулем кэширование Представлений Views будет более гибким не добавит нагрузку на сайт.

Ajax Blocks

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

Модуль даёт преимущества статическим сайтам с динамическим содержимым некоторых блоков. Он позволяет владельцам сайтов кэшировать страницы для анонимны пользователей и отображать динамический контент.

Block Lazyloader

Модуль, который делает ваш сайт быстрее. Работает по принципу модуля Image Lazyloader: останавливает отображение блоков, которые не видны на экране, и подгружает блоки, если посетитель прокрутил страницу вниз.

Minify

Сжимает HTML и JS. Настраивается в Конфигурации - Производительность. Убирает лишние пробелы в HTML, создаёт сжатые копии JS-файлов, которые используются на сайте при загрузке любой страницы.

Advanced CSS/JS Aggregation

Сжимает все используемые при отображении страниц файлы css и js. Мощное сжатие для ускорения загрузки страниц. Не забывайте чистить кеш, если исправляете в css или js.

Boost

Кеширует страницы для анонимных пользователей, что ускоряет загрузку страниц. Модуль создаёт кеш-файлы, обычные html-файлы в папке cache. При посещении страницы анонимными пользователями, отображаются страницы из кеша, избавляя Drupal от необходимости выполять php-код и обращения к базам данных.

Подписаться на Front page feed