Ускорение работы CSM Joomla

Оффтоп


В этой статье мы рассмотрим ускорение работы CSM Joomla. Конечно к каждому ресурсу нужен свой подход. Но есть несколько основных вещей о которых я расскажу в статье.Мои наблюдения тесты на различных хостингах , выявили , что сайт тормозит огромное количество запросов , исходящее из движка Joomla к базе данных msql.

Оптимизация числа запросов к базе данных SQL и кеширование контента.
В разделе плагинов нужно выключить и удалить все неиспользуемые плагины, компоненты, модули. Важно удалить, ведь все параметры и настройки joomla берет из базы sql, даже если они выключены. Желательно почистить таблицы базы — все данные о модулях и плагинах, все это значительно ускорит запросы к базе данных.

Включите глобальное кеширование система – кеш в разделе плагины cms Joomla, это позволит сократить запросы к базе SQL при генерации контента . Так же сократить число запросов к базе поможет отключение учета просмотров материалов. Важно проверить чтобы у вашего хостинга (если вы используете виртуальный хостинг) были включены Eaccelerator и engine x . ( Если вы используете выделенный сервер, то обязательно включите и настройте параметры) конечно самый большой прирост производительности дает включение плагина Joomla кеширование запросов к базе данных.

CMS Joomla каждое обращение к материалу преобразует в hit. Лучший вариант, выключить или хранить hit в отдельной небольшой табличке , в этом случае обновление записей материалов не произойдет , а кешированные таблицы материалов будут использоваться.
CMS Joomla определяя дату и время публикации, генерирует время с точностью в 1 сек постоянно формируя запрос в базу с временем устаревания в 1 сек.Подобные запросы не кешируются ! Для большинства случаев достаточно только Даты.

Итак ускоряем Joomla:

  1. Выключаем учет просмотров материалов
  2. Выключаем проверку на дату и время публикации или заменяем запрос к базе данных контроля времени публикации оставляя только дату
  3. Включить плагин кеширования запросов в базу mysql (Query Cache)
  4. Оптимизируем модули и компоненты для минимизации создания уникальных запросов к SQL (важно чтобы нигде не было запросов к дате времени)
  5. Правильно настроить , время жизни кеш.

Результаты:

Можно добиться уменьшения количества запросов в базу SQL с 50 до 5… ! На главной кешируемой странице до 2 вместо 11-13… формирование страниц занимало 0.9-1.5 сек без кеширования запросов , и стало 0.1-0.4 сек кешированием запросов. Это довольно заметное ускорение.