В этой статье мы рассмотрим ускорение работы CSM Joomla. Конечно к каждому ресурсу нужен свой подход. Но есть несколько основных вещей о которых я расскажу в статье.Мои наблюдения тесты на различных хостингах , выявили , что сайт тормозит огромное количество запросов , исходящее из движка Joomla к базе данных msql.
Оптимизация числа запросов к базе данных SQL и кеширование контента.
В разделе плагинов нужно выключить и удалить все неиспользуемые плагины, компоненты, модули. Важно удалить, ведь все параметры и настройки joomla берет из базы sql, даже если они выключены. Желательно почистить таблицы базы — все данные о модулях и плагинах, все это значительно ускорит запросы к базе данных.
Включите глобальное кеширование система – кеш в разделе плагины cms Joomla, это позволит сократить запросы к базе SQL при генерации контента . Так же сократить число запросов к базе поможет отключение учета просмотров материалов. Важно проверить чтобы у вашего хостинга (если вы используете виртуальный хостинг) были включены Eaccelerator и engine x . ( Если вы используете выделенный сервер, то обязательно включите и настройте параметры) конечно самый большой прирост производительности дает включение плагина Joomla кеширование запросов к базе данных.
CMS Joomla каждое обращение к материалу преобразует в hit. Лучший вариант, выключить или хранить hit в отдельной небольшой табличке , в этом случае обновление записей материалов не произойдет , а кешированные таблицы материалов будут использоваться.
CMS Joomla определяя дату и время публикации, генерирует время с точностью в 1 сек постоянно формируя запрос в базу с временем устаревания в 1 сек.Подобные запросы не кешируются ! Для большинства случаев достаточно только Даты.
Итак ускоряем Joomla:
- Выключаем учет просмотров материалов
- Выключаем проверку на дату и время публикации или заменяем запрос к базе данных контроля времени публикации оставляя только дату
- Включить плагин кеширования запросов в базу mysql (Query Cache)
- Оптимизируем модули и компоненты для минимизации создания уникальных запросов к SQL (важно чтобы нигде не было запросов к дате времени)
- Правильно настроить , время жизни кеш.
Результаты:
Можно добиться уменьшения количества запросов в базу SQL с 50 до 5… ! На главной кешируемой странице до 2 вместо 11-13… формирование страниц занимало 0.9-1.5 сек без кеширования запросов , и стало 0.1-0.4 сек кешированием запросов. Это довольно заметное ускорение.