RSS
 

Кеширование в Joomla (первое знакомство)

Всем доброго времени суток. Я тут на досуге начал изучать ЦМС Joomla. Начал совсем недавно и можно сказать, что делаю первые шаги в ней.

Кроме того так случилось, что не далее как вчера я на практике увидел, что делает кеш "животворящий". Запихнув в memcache практически всевозможные блоки на одном сайте, который по вечерам ложился "отдыхать" с 19 до 23 (сайт крутится на среднем одноядерном сервере), добился того, что теперь там загрзка ЦП не сильно превышает 20% в это же время. И есть подозрение на то, что нагрузку генерирует незакешированная часть.

// http://www.smira.ru/2008/10/08/highload-plus-plus-2008/ - тут Андрей Смирнов в презенташке хорошо memcache с основными базовыми идеми.

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

Первые знания были получены у Ромы Александрова ( http://vjoomla.ru ), которые гласили примерно следующее: системный плагин - фигня, юзай глобальное кеширование. Плагин плох - т.к. кеширует абсолютно все, а глобальный частями (модулями/компонентами).

Так оно в принципе и есть, только вот чего я еще интересного нарыл в английской части сети:

1. Более подробное описание кеширование в Джумле лежит здесь: http://www.theartofjoomla.com/joomla-caching-explained.html

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

3. Также я встретился с понятием: 'cache raw' mode in Joomla 1.5. И пока что я без понятия, что это такое.

http://www.slideshare.net/kauselot/turbocharging-your-extension - тут на 31-ом слайде утверждается, что Joomla умеет кешировать результаты работы функций (ничего удивительного здесь нет, кроме того факта, что я об этом слышу впервые). И тут же на 47-ом слайде говорится, что 'cache raw' - кеширует любой модуль с данными и сохраняет его основываясь на переданном идентификаторе. Примеры: тяжелые запросы, удаленный XML и т.д.

Ух ты, тут также пишут, что в версии 1.6 кеш был сильно отрефакторен, хендлы кеша стали его контроллерами (page, view, output, callback), а родительский JPageController помимо всего прочего стал контроллировать get и call вызовы. (читать много интересного о версии 1.6 примерно с 50 слайда)

4. Также я узнал о таких интересных решениях:

http://extensions.joomla.org/extensions/site-management/cache/13155 - замена системному кешу, у которой есть некоторые настройки

http://extensions.joomla.org/extensions/site-management/cache/3180 - а с помощью этой щтуки, по мнению автора можно серьезно разгрузить БД. Кстати, на сайте автора QueryCache есть довольно немало интересных статей. Например, пояснение того, что этот плагин не ускоряет БД, а разгружает ее и в чем отличие:

http://www.joomlaperformance.com/articles/query_cache/so_how_good_is_que...

ВОт такое вот первое хаотичное знакомство