Расширения

Обзор JotCache. Кэширование Joomla 3

 

  • Тип – компонент кэширования Джумла.

 

 

JotCache – это компонент кэширования Joomla с гибкими настройками и возможностью существенного ускорения Вашего сайта. При этом расширение позволяет снизить нагрузку на сервер. Благодаря очень гибким опциям Вы сможете настроить кэширование даже очень динамичных сайтов. Под динамикой понимается, что страница содержит множество элементов, содержимое которых меняется в зависимости от различных обстоятельств. Например, AJAX-комментарии, форма входа, корзина товаров, модуль переключения валюты и т.д..

Лично мне удалось существенно снизить нагрузку на сервер, увеличить скорость загрузки страниц и почти полностью избавиться с проблемой индексации страниц с AJAX-комментариями (URL с «_escaped_fragment_»). Последняя проблема возникала в связи с проблемами кэширования страниц и компонента комментариев Ccomment Pro.

Данное расширение, на мой взгляд, должны использовать все, у кого возникли проблемы со стандартным кэширование Joomla. Например, не всегда получается добиться нормальной работоспособности форм RSForm Pro и стандартным кэшированием в Джумла. С помощью JotCache и некоторых настроек мне удалось добиться неплохих результатов. И форма корректно работает, и страницы кэшируются. Хотя иногда проявляются ошибки в виде отображения подписей о незаполненных полях, но явно лучше, чем без кэширования.

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

Особенно стоит отметить возможность тонкой настройки, которая позволит кэшировать сайты, на которых применяются компоненты интернет-магазинов VirtueMart, JoomShopping и другие. Как альтернативу, можете рассмотреть компонент кэширования Speed Cache.

На официальном сайте расширений Joomla 74 отзыва, расширение добавлено 18 ноября 2014.

  • Общий рейтинг – 89 из 100.
  • Функциональность – 95 из 100.
  • Простота использования – 88 из 100.
  • Документация – 74 из 100.
  • Поддержка – 82 из 100.

Расширение полностью бесплатное.

В обзоре будет участвовать последняя, на момент написания статьи (13.07.2016) русскоязычная версия JotCache 5.3.2 в Joomla 3.5.1.

Особенности JotCache

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

  • Уменьшает нагрузку на сервер.
  • Увеличивает скорость загрузки сайта.
  • Возможность предварительного кэширования страниц.
  • Возможность исключения из кэширования на основании: URL или части URL, позиций шаблона, компонента.
  • Возможность исключения из кэширования URL-адресов с запросами.
  • Возможность отдавать определённым браузерам, устройствам, user agent страницы не из кэша.
  • Возможность отдавать поисковым роботам страницы не из кэша.
  • Поддержка в качестве хранилища кэша файла (файловая система диска), memcache, memcached.
  • Возможность настройки кэша в зависимости от куков или переменных сессий.
  • Интеграция с компонентами оптимизации скорости загрузки сайта JCH Optimize, Rokbooster, Scriptmerge.
  • Возможность установки времени жизни кэша сервера и браузера.
  • Возможность настройки автоматической очистки кэша Joomla.
  • Поддержка нескольких доменов или протоколов сайта.
  • Журналирование ошибок.
  • Наличие отладки для решения проблем.
  • Удобное управление страницами кэша.
  • Поддерживает Joomla 2.5 - 3.х.
  • Неплохая документация (на английском). Наличие всплывающих подсказок на русском языке для многих опций.
  • Переведён на русский и английский языки.

Кэширование Joomla 3

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

  1. Установить последнюю стабильную версию JotCache для Вашей версии Joomla с официального сайта разработчика.
  2. При необходимости установите русификатор.
  3. Перейдите в менеджер плагинов и убедитесь, что плагин «Система - Кэш» отключён.
  4. Убедитесь в том, что системные плагины «JotCache» и «JotMarker» включены.
  5. Убедитесь, что в настройках системного плагина «JotMarker» для опции Порядок задано Самый первый.
  6. Настройте плагин «JotCache». Рекомендую внимательно читать справку при изменении каких-то настроек.
  7. Убедитесь в том, что в общих настройках Joomla на вкладке Система для опции Кэш задано Стандартное кэширование.
  8. Настройте компонент «JotCache». Рекомендую внимательно читать справку при изменении каких-то настроек.
  9. Задайте нужные исключения в настройках компонента.
  10. Очистите кэш JotCache и перекэшируйте данные.
  11. Проверьте работоспособность и отображение всего сайта. Лучше с разных браузеров
  12. При необходимости и возникновении проблем повторите пункты №6, 8-12.

Результат кэширования

Привожу несколько примеров работы сайта на Joomla 3.5.1 с и без кэширования при помощи JotCache. Тестируемый сайт – точная копия сайта Aleksius.com на том же виртуальном выделенном сервере (VPS) и том же аккаунте.

«Тесты» не показательны, но я постарался нивелировать другие факторы, влияющие на результаты, по максимуму.

В статье «Обзор Speed Cache. Сравнение систем кэш Joomla» представлены результаты тестирования сайта со стандартным кэшем Joomla и с компонентом кэша Speed Cache.

Замер показателей оптимизации и скорости загрузки сайта при помощи сервиса Tools.pingdom.com без кэширования JotCache (рисунок ниже). Ссылка на результат.

Tools.pingdom.com без кэширования JotCache
Tools.pingdom.com без кэширования JotCache

Замер показателей оптимизации и скорости загрузки сайта при помощи сервиса Tools.pingdom.com с кэшированием JotCache (рисунок ниже). Ссылка на результат.

Tools.pingdom.com с кэшированием JotCache
Tools.pingdom.com с кэшированием JotCache

Замер показателей оптимизации и скорости загрузки сайта при помощи сервиса PageSpeed Insights без кэширования JotCache (рисунки ниже). В статье «Оптимизация Joomla по рекомендациям Page Speed Insights» приведён ряд советов для реализации рекомендаций Google по ускорению сайта. Причём, конкретно для Joomla.

PageSpeed Insights без кэширования JotCache (Для мобильных)
PageSpeed Insights без кэширования JotCache (Для мобильных)
PageSpeed Insights без кэширования JotCache (Для компьютеров)
PageSpeed Insights без кэширования JotCache (Для компьютеров)

Замер показателей оптимизации и скорости загрузки сайта при помощи сервиса PageSpeed Insights с кэшированием JotCache (рисунки ниже).

PageSpeed Insights с кэшированием JotCache (Для мобильных)
PageSpeed Insights с кэшированием JotCache (Для мобильных)
PageSpeed Insights с кэшированием JotCache (Для компьютеров)
PageSpeed Insights с кэшированием JotCache (Для компьютеров)

При помощи WebSite Auditor был запущен SEO-аудит сайта. Каждая из страниц анализировалась по ряду показателей: битые ссылки, мета-данные, размер страницы в Кб и так далее. То есть, программа автоматически поочерёдно запрашивала страницы сайта с сервера и анализировала их на компьютере. Примерно так происходит обычный просмотр страниц пользователями и\или поисковыми роботами.

Результат без кэширования JotCache (анализ в WebSite Auditor). Проверено 122 страницы сайта за 15 минут. Данные о нагрузке на сервер указаны на рисунках ниже (по информации с New Relic). Во время теста я получил предупреждение на почту о том, что скорость загрузки страниц сайта слишком медленная. Синим обведены интервалы времени тестирования.

Результат без кэширования JotCache (данные из New Relic)
Результат без кэширования JotCache (данные из New Relic)

Результат с кэшированием JotCache (анализ в WebSite Auditor). Проверено 155 страниц сайта за 15 минут. Данные о нагрузке на сервер указаны на рисунках ниже (по информации с New Relic). Во время теста я не получил предупреждение на почту о том, что скорость загрузки страниц сайта слишком медленная. Синим обведены интервалы времени тестирования.

Результат с кэшированием JotCache (данные из New Relic)
Результат с кэшированием JotCache (данные из New Relic)

При помощи сервиса Loadimpact.com, без кэширования JotCache, был проведён тест скорости работы сайта под нагрузкой (рисунки ниже). Ссылка на результат.

Loadimpact.com, без кэширования JotCache (1)
Loadimpact.com, без кэширования JotCache (1)
Loadimpact.com, без кэширования JotCache (2)
Loadimpact.com, без кэширования JotCache (2)

При помощи сервиса Loadimpact.com, с кэшированием JotCache, был проведён тест скорости работы сайта под нагрузкой (рисунки ниже). Ссылка на результат.

Loadimpact.com, с кэшированием JotCache (1)
Loadimpact.com, с кэшированием JotCache (1)
Loadimpact.com, с кэшированием JotCache (2)
Loadimpact.com, с кэшированием JotCache (2)

К сожалению, при повторном тестировании в Loadimpact.com (с кэшем), тест проводился с другой страны, которая находится географически ближе к серверу сайта, чем в случае с тестом без кэширования.

Для наглядности сведу результаты тестирования кэширования Joomla в таблицу.

«Критерий»

Без JotCache

С JotCache

Tools.pingdom.com

Скорость загрузки

3,27 секунды

1,74 секунды

Какое количество проверенных сайтов медленнее тестируемого

51%

77%

PageSpeed Insights

Степень оптимизации для мобильных устройств

54 / 100

69 / 100

Степень оптимизации для компьютеров

74 / 100

84 / 100

WebSite Auditor

Количество проверенных страниц за 15 минут

122

155

New Relic

Сообщение о низкой скорости загрузки страниц

Да

Нет

Время отклика

686 миллисекунд

523 миллисекунды

Loadimpact.com

Минимальное время получения страницы

5,27 секунды

4,24 секунды

Максимальное время получения страницы

7,4 секунды

9,44 секунды

Среднее время получения страницы

6,32 секунды

5,69 секунды

Итого, если взять конечные результаты, в моём тестировании JotCache позволил добиться таких показателей:

  • Скорость загрузки страницы по данным Tools.pingdom.com улучшилась более чем на 46%.
  • Процент сайтов, скорость загрузки которых медленнее тестируемого, улучшился на 26%.
  • Степень оптимизации для мобильных устройств, по данным Google PageSpeed Insights, улучшилась на 15%.
  • Степень оптимизации для компьютеров, по данным Google PageSpeed Insights, улучшилась на 10%.
  • Количество проверенных страниц в WebSite Auditor улучшилось более чем на 21%.
  • Время отклика сервера по данным New Relic улучшилось более чем на 23%. И я не получил сообщение о низкой скорости загрузки страниц.
  • Среднее время получения страницы по данным Loadimpact.com улучшилось более чем на 8%.

Итого, в среднем по всем тестам, улучшение составило более чем 21%. По данным на графике New Relic видно, что нагрузка на сервер немного уменьшилась. Особенно это видно на исходящем трафике (так как в JotCache была активирована опция кэширования на клиенте). При этом увеличилась производительность.

Результаты тестов с и без JotCache
Результаты тестов с и без JotCache

У компонента очень большая документация, множество опций и возможностей. В обзоре будут рассматриваться только базовые настройки и принципы работы с JotCache.

Обзор

В главном окне JotCache (рисунок ниже) собраны данные по всем страницам кэша Joomla. Тут же можно поработать с ними: найти, удалить, обновить. В левом верхнем углу есть «индикаторы» состояния кэша:

  • P – состояние плагина JotCache.
  • G – состояние настроек глобального кэширования Joomla.
  • C – состояние кэширования самого компонента JotCache.

Для нормальной работы кэширования Joomla 3 нужно, чтобы все «индикаторы» были зелёными. Допускается жёлтый цвет как промежуточный. Например, для состояния кэширования самого компонента JotCache может быть жёлтый цвет, если очистили весь кэш и ещё не создали новый.

JotCache
JotCache

Доступно три состояния режима кэширования фронтальной части сайта. Их можно переключать при помощи спадающего списка в левом верхнем углу окна в спадающем списке.

  1. Нормальный. Это обычный режим кэширования. Используйте его для повседневной работы сайта.
  2. С отметкой. В этом режиме в заголовке станицы во фронтальной части сайта можно увидеть, кэшируется страница или нет. Просто перейдите на нужную страницу и посмотрите на её заголовок в окне браузера (рисунок ниже). Отметка «[CACHED]» свидетельствует о том, что страница кэшируется. Также в данном режиме можно просмотреть страницы, которые были посещены администратором за текущую сессию. В столбце Отметка появится Да. Можно фильтровать страницы по этой отметке. Нажав на URL такой страницы в столбце URL страницы Вы перейдёте во фронтальную часть сайта, где в верхней части окна будет панель JotCache с кнопкой, позволяющей обновить кэш этой страницы. Нажав на Да в столбце Отметка откроется страница сайта, а в адресной строке браузера можно увидеть «реальный» запрос страницы в не ЧПУ виде (в не SEF виде). Всё это нужно для решения возможных проблем с кэшированием.
  3. С обновлением. В данном режиме кэш каждой страницы сайта, которую посещает администратор, будет обновляться.
Отметка
Отметка

Кнопки в верхнем меню:

  • Обновить. Обновляет содержимое таблицы окна управления кэшированием. Но не сам кэш.
  • Удалить. Удаляет из кэша выбранные страницы.
  • Удалить всё. Удаляет все страницы кэша. По сути – это полная очистка кэша Joomla.
  • Перекэшировать. Запускает процесс создания кэша страниц.

Если у Вас на сайте включены ЧПУ (SEF) ссылки, то для упрощения настройки исключений можно нажать на иконку глазика рядом с URL-страницы в одноимённом столбце и увидеть не ЧПУ адрес (рисунок ниже), вернее запрос. Его или его часть можно использовать для настройки исключений. Об этом поговорим в следующей статье.

Не ЧПУ адрес страницы
Не ЧПУ адрес страницы

Перекэширование

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

Глубина сканирования пауком. Глубина вложенности страницы, начиная от корневой директории сайта. Начните с меньшего числа, потому что количество фактически просканированных страниц очень быстро растёт с увеличением глубины сканирования.

При помощи планировщика (CRON) на Вашем сервере можно настроить автоматическую очистку кэша и перекэширование.

Кэш Joomla
Кэш Joomla

Доступно три режима перекэширования.

  1. Сканирует все страницы сайта, начиная с главной, продвигаясь по сайту, находя ссылки на другие страницы на текущей странице. Процесс перекэширвоания завершается при достижении заданной глубины сканирования. Данный режим использует алгоритм, который работает быстрее, чем алгоритм в режиме Crawlerext, но есть вероятность, что не все страницы, присутствующие в рамках заданной глубины сканирования, будут закэшированы.
  2. Аналогичен режиму Crawler, но медленнее, гарантирует, что все страницы, присутствующие в рамках заданной глубины сканирования, будут закэшированы.
  3. Повторное кэширование всех страниц, хранящихся в базе данных JotCache, с возможностью выбора именно тех, которые нужно перекэшировать (рисунок ниже).
Кэширование Joomla 3
Кэширование Joomla 3

Настройка JotCache для Joomla 3

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

На вкладке Базовые Вам доступны опции, позволяющие настроить таблицу кэша страницы Обзор, рассмотренной выше в статье.

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

Можно выбрать, как именно отображать страницу – в виде URL или заголовка; нужно или не нужно показывать куки в таблице. Опция отображения куков, вместе с опцией Разделение куков в плагине, помогут Вам отследить, какие именно куки были использованы при кэшировании страницы и, при необходимости, настроить разделение кэширования контента. Аналогично для опций Показывать переменные сессии (в настройках компонента) и Разделение переменных сессии (в настройках плагина).

Настройка JotCache для Joomla 3
Настройка JotCache для Joomla 3

Опция Быстрое удаление позволит очищать кэш Joomla сразу по нажатию на кнопку Удалить всё без подтверждения.

Опция Время выполнения перекэширования позволяет задавать время выполнения перекэширования в секундах. Рекомендую проконсультироваться у Вашего хостинг-провайдера и не выставлять данное значение больше, чем значение максимального времени выполнения скрипта у Вас на хостинге. Узнайте у Вашего хостинг-провайдера, какие у него ограничения на время выполнения «mod_fcgi». Если Ваш хостинг-провайдер разрешает редактировать файл «php.ini», можете внести в него такую строку:

max_execution_time = 60

Или в файле «.htaccess» можно указать:

php_value max_execution_time 60

Если сервер работает в безопасном режиме, то Вы не сможете изменить время выполнения скрипта.

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

На вкладке Отладка собраны опции, которые помогут в случае необходимости и «тонкой» отладки и решения сложных проблем.

Показывать хэш файла. При активации данной опции, в таблице управления кэширвоанием Joomla 3 в столбце Хэш файла появится «идентификатор» хэша, по нажатию на который Вы сможете просмотреть содержимое закэшированной страницы (рисунок ниже). Счётчик исключений показывает количество исключённых позиций шаблона.

Отладка контента в кэше
Отладка контента в кэше

Журнал перекэширования. Опция позволяет записывать активность планировщика (CRON) касательно обновления кэша для проверки и отладки. Если выбрано значение Да, то активируется запись в журнал перекэшированных, который хранится в файле «logs/jotcache.recache.log».

Русификатор JotCache

Скачать русификатор JotCache.

В следующей статье «Обзор JotCache. Кэш браузера Joomla» мы поговорим о возможностях компонента в плане задания исключений, кэширования контента на стороне клиента и рассмотрим настройки плагина JotCache.

Похожие материалы
Автор статьи – Хорошевский Алексей

Хорошевский Алексей Примерно с 2008 года и по сегодняшний день создаю сайты «под ключ» на Joomla и WebSite X5. Также занимаюсь их доработкой, SEO-продвижением, контекстной рекламой, защитой от взлома и оптимизацией скорости загрузки сайта.

Кандидат технических наук по специальности «Информационные технологии».

На этом сайте есть контакты и информация обо мне. На нём Вы найдёте примеры моих работ, а также перечень и цены предоставляемых услуг.

 

Полезные ссылки: