+7 (911) 704-69-81

Россия, Санкт-Петербург

+7 (911) 704-69-81
Вверх

Кэширующий плагин modxExtraCachePlugin

Блог / modxExtraCachePlugin
Кэширующий плагин modxExtraCachePlugin

modxExtraCachePlugin

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

Оптимизация генерации страниц MODX происходит в несколько этапов:

  1. По событию «OnDocFormSave» или «OnSiteRefresh» будет произведена очистка кэша одной или всех страниц. После чего в фоновом режиме произойдет запуск утилиты «wget» в режиме краулера, это необходимо для прогрева кэша.
  2. При наступлении события «OnWebPagePrerender», которое наступает перед отправкой страницы в браузер (когда все теги будут обработаны), плагин сохранит отрендеренную копию страницы в отдельный файл на диске.
  3. В момент инициализации MODX произойдет событие «OnMODXInit», в этот момент плагин проверит существование файла на диске, отдаст браузеру сохраненную копию страницы, и завершит обработку запроса.

В результате, страница будет отдана сервером за минимально возможный промежуток времени, около 80мс, практически со скоростью статики. А если на сервере установлен OPCache, то время отклика сайта может сократится до 40мс.

В плагине реализована корректная обработка заголовков HTTP: Last-Modified, If-Modified-Since, 304 Not Modified.

Очистка кэша производится через стандартное меню MODX "Управление" ->"Очистить кэш".

Актуальная версия плагина и результаты нагрузочного тестирования лежат на GitHub - modxExtraCachePlugin

Режимы работы плагина:

  • enable_cache_for_logged_user по умолчанию true -
    включает или отключает кэширование страниц для залогиненных в админке.
  • ignore_url_get_parameters по умолчанию true -
    включает или отключает режим игнорирования параметров URL.
  • expires по умолчанию 3600 (1час) -
    время устаревания ресурса, в секундах.
  • erase_session_keys по умолчанию true -
    включает или отключает очистку сессий по ключам между запросами страниц.
  • session_keys массив сессионных ключей -
    добавляет элементы для сохранения в кэш.