kancboom.ru

Кэширование в Joomla. Кэш в Joomla – разбираемся в деталях Отключить кэширование собственного счетчика joomla

Дата публикации: 30.01.2013

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

Принцип работы данной функции состоит в следующем:

1) Пользователь обращается к материалу сайта;

2) Сервер генерирует данные и отправляет их в пользовательский браузер. При этом данный материал сохраняется в папке, которую указывает администратор сайта. Это папка называется папка кэша.

3) Теперь, если какой-либо пользователь запросит тот же материал, то он не будет генерироваться по новой, тратя ресурсы сервера, а будет браться из той самой папки, т.е. из кэша.

Появляется вопрос: "А как же тогда обстоят дела с обновлением сайта? Пользователь не сможет заметить изменения, которые были внесены нами, поскольку вся информация будет выдаваться ему из кэша?

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

Выбор правильного времени жизни кэша чрезвычайно важен для сервера. Основным фактором здесь выступает периодичность обновления информации. Например, если вы будете обновлять информацию раз в день, то логично будет выставить срок кэширования меньше 24 часов. Оптимальным будет 22 часа или 1320 минуты. За пару часов, которые остаются, можно вполне успешно обновить все материалы на сайте.

Если вы изменяете материалы раз в два дня, то поставьте время кэширования 46 часов или 2760 минут. Думаю, что здесь все понятно.

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

Для того чтобы включить кэширование, перейдите в панель администратора. Выберете пункт меню САЙТ - ОБЩИЕ НАСТРОЙКИ САЙТА - СИСТЕМА. Все установки кэша вы можете увидеть с правой стороны.

Установки для кэша Joomla!

Устанавливаем радио переключатель в положение "Да" и указываем время кэширования. Не забудьте нажать на кнопку "Сохранить". Это необходимо для того, чтобы изменения вступили в силу.

Итак. Мы указали только глобальные параметры, а именно, включили функцию кэширования для всего сайта. Стоит сказать, что существуют некоторые модули, для которых использовать кэш не желательно. Это модули, которые выводят информацию, которая очень быстро обновляется: погода, новости, котировки валют.

Перейдите в пункт РАСШИРЕНИЯ - МЕНЕДЖЕР МОДУЛЕЙ. Выберите нужный вам, нажав на него, и вы попадете в его настройки. Нас интересует пункт параметры, который находится справа.

Кэширование для модулей

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

Для того чтобы очистить кэш вручную, перейдите в пункт ИНСТРУМЕНТЫ - ОЧИСТИТЬ КЭШ.

Резюме: Кэширование поможет вам заметно ускорить CMS Joomla! и повысить производительность сайтов, сделанных на ее основе. Бывает, что посетитель видит обновления сайта с задержкой. Для избегания подобной ситуации, необходимо правильно выбрать время кэширования. Основной критерий при выборе – это периодичность обновления информации на сайте. Для модулей, которые часто обновляют информацию, кэширование лучше отключить.

Еще статьи из категории blog

Создан доступный аналог самой черной краски

Черные краски и материалы, которые все привыкли видеть, на самом деле являются не совсем черными....

Расставим все точки над VDS/VPS хостингом. Читать тем, кто плохо разбирается в этом понятии.

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

Определение кэширования

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

Настройка кэширования в Joomla

Перед настройкой кэша в Joomla, сначала нужно убедиться, что включен плагин кэширования, для этого переходим в «Расширения », затем «Менеджер плагинов », через форму поиска ищем «Система – Кэш » и включаем ее (если была отключена).

Теперь переходим непосредственно к самой настройке, для этого переходим в «Система », далее в «Общие настройки » и в вкладку «Система », после «Параметры отладки » видим «Настройки кэша »

В выпадайке «Кэш » есть три варианта выбора:

    • Кэширование отключено;
    • Стандартное кэширование;
    • Прогрессивное кэширование;

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

Очистка кэша в Joomla

Очистить кэш в Joomla достаточно просто, для этого переходим в «Система » и «Очистить весь кэш »

Использование кэша браузера Joomla

У плагина «Система – Кэш », есть такая функция как «Использовать кэширование в браузере », что она делает и зачем нужна? Когда она включена, ваш компьютер будет помимо стандартного сохранения кэша, будет сохранять еще и дополнительно, во-первых это еще нагрузка на сайт, во вторых пользователь не увидит изменений на сайте, пока не очистит свой кэш локально на компьютере. Я бы вам не рекомендовал включать эту функцию.

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

Что такое серверное кэширование?

Сайты на CMS Joomla являются динамическими: перед тем, как отобразиться в браузере, веб-страница формируется через взаимодействие PHP-кода с базой данных. Это предполагает огромное множество действий со стороны сервера, скорость выполнения которых может сильно падать, если к сайту одновременно выполняется много запросов (большое количество пользователей в единицу времени), в результате чего время загрузки страниц сайта может сильно возрастать.

Облегчить работу сервера как раз позволяет серверное кэширование: веб-страницы целиком или частично в виде конечного HTML-кода будут сохраняться на сервере в виде временных файлов (кэша) после генерации и отдаваться при запросах пользователями.

Виды кэширования в Joomla 3

Джумла предусматривает 3 вида кэширования данных на сервере:

Теперь о каждом по порядку.

Стандартный уровень кэширования

Обеспечивает создание файлов кэша для всех элементов веб-страниц, в том числе модулей, в настройках которых не отключено кэширование. Подойдёт для любого сайта.

Прогрессивный уровень кэширования

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

Кэширование страниц

Такой вариант предполагает сохранение конечных копий веб-страниц целиком, в том числе компонентов. Этот тип кэширования самый эффективный в отношении скорости загрузки и подойдёт для большинства лэндингов, но не для сайтов с постоянно обновляющимся контетом.

Настройка кэширования в Joomla 3

Поговорим о том, как активировать и настроить серверное кэширование.

Настройка стандартного или прогрессивного кэширования

  1. Система Общие настройки
  2. вкладка Система
  3. раздел Настройки кэша
  4. Обработчик кэширования

    Если на сервере активированы прекомпиляторы для обработки кэша, они будут в выпадающем списке. Если выбор отсутствует или вызывает затруднение, выберите значение Файл .

  5. Путь к каталогу кэша

    Если не заполнять, то все временные файлы будут храниться в папке /cache/

  6. Время кэширования

    Подразумевает время хранения временных файлов в минутах. Рекомендуем выставлять значение, равное приблизительной частоте обновления контента на сайте, но не более 1440 минут (одних суток) во избежание каких бы то ни было проблем.

  7. Специфическое кэширование для платформы

    Следует активировать, когда код веб-страниц отличается в зависимости от устройства вывода (например, для мобильных устройств применяется иная вёрстка).

  8. Системный кэш

    Собственно, эта опция и определяет тип кэширования (стандартный или прогрессивный).

  9. по окончанию настройки жмем Сохранить или Сохранить и закрыть

Настройка кэширования страниц

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

  1. Расширения Плагины
  2. плагин Система - Кэш
  3. состояние Включено

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

Очистка серверного кэша в Joomla 3

При изменениях на страницах сайтах до истечения срока действия файлов кэша потребуется их своевременное удаление. Для этого в Джумле предусмотрена стандартная функция:

  1. Система Очистить весь кэш

    Для удаления всех временных файлов

  2. Система Очистить устаревший кэш

    Для удаления просроченных файлов кэша.

Кэширование это запоминание системой своих действий по отражению сайта и/или его частей для снижения обращений в базу данных сайта. Как следствие - снижение нагрузки на сервер хостинга. То есть, при вызове определенной динамической страницы сайта система сохраняет в кэше её статическую копию и при последующем вызове этой страницы другим пользователем система откроет её из кэша сайта. Вызов статической страницы происходит гораздо быстрее, чем вызов динамической страницы, а значит, будет меньше обращений к базе данных сайта, будет уменьшена нагрузка на сервер и уменьшится скорость загрузки страниц сайта.

Бытует мнение, что CMS Joomla 3 быстрая система. Это не совсем так. Даже «голый» сайт, то есть сайт без установленных сторонних расширений, без страниц и без модулей грузится более 2-х секунд. Причем, включение/ выключение кэширования на таком сайте не на что не влияет. Например, если провести анализ скорости загрузки пустого сайта Joomla 3, с включенной и отключенной функцией кэширования, время загрузки будут отличаться на 0,1-0,2 секунды.

Дело в том, что основные виды кэширования Joomla, сохраняют в памяти сформированные страницы, установленные модули и данные компонентов, а не файлы и расширения самой системы.

Три вида кэширования Joomla, три типа кэша Joomla

В Joomla предусмотрено три основных типа кэша, настройки, которых доступны из административной панели . Разделяются типы кэша по объектам кэширования, а именно:

  1. Кэширование страниц сайта. Включает кэширование всей страницы, включая шаблон, модули, данные компонентов, используемых на странице (доступно только посетителям);
  2. Кэширование модулей сайта (доступно посетителям и зарегистрированным пользователям);
  3. Кэширование представлений компонента (данных компонента на выходе). Доступно посетителям и зарегистрированным пользователям.

Как видите, по доступности кэширования, типы кэша можно объединить в две группы:

  1. кэш страниц (для пользователей);
  2. кэш модулей и компонентов (для пользователей и зарегистрированных пользователей).

Причем, кэш страниц уже включает кэш модулей и компонентов. По этим группам разделяются и настройки кэширования Joomla.

Особенности кэширования Joomla или приоритеты кэша

Понятно, что несколько типов кэша Joomla, должны иметь приоритетное построение вызова. То есть, должно существовать правило, откуда система возьмет сохраненную копию страницы или её части (модуля, изображения и т.п.). Важно понимать:

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

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

Пора посмотреть, где включаются и настраиваются типы кэша Joomla 3.

Как включить и настроить Кэш страниц, модулей и компонентов Joomla 3

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

Кэширование страниц сайта

Кэширование страниц сайта включается на вкладке: Расширения→Менеджер плагинов→Система-Кэш .

Права доступа пользователей к управлению кэш настраиваются на вкладке: Система→Общие настройки→Менеджер кэша .

Практически, настроек в кэширование страниц Joomla нет. Есть только включение и выключение, и важное включение «Кэш браузера». Если используете кэш страниц, то обязательно включите «Кэш браузера». Правда при таком включении вам придется чистить кэш браузера вручную, чтобы увидеть сделанные вами изменения на сайте.

class="eliadunit">

Кэширование модулей сайта и кэширование представлений компонентов

Кэширование модулей сайта и кэширование представлений компонентов работают параллельно и включаются на вкладке: Система→Общие настройки→Система→Настройки кэш . Здесь всё просто и сложно одновременно:

В пункте «Кэш» вы можете не только включить/отключить кэш сайта, но и выставить его уровень. Есть два уровня кэширования:

  • Стандартное кэширование : показывает всем пользователям одинаковый набор модулей для всех страниц. По сути, модули не кэшируются;
  • Прогрессивное кэширование : более тяжелое кэширование, но позволяет кэшировать уникальное расположение модулей каждому посетителю. Прогрессивное кэширование не работает для громоздких сайтов, но прекрасно работает, если вы настраиваете уникальный показ модулей для каждой страницы сайта.

Время жизни кэша

Время жизни кэша, это время в минутах или секундах (для модулей Joomla), сколько сохраненная копия будет лежать в папке «cache» в корне сайта. Здесь совет не уникален, выставите время жизни кэша по сроку обновления вашего сайта. Если статьи или новости появляются на сайте ежедневно, то ставьте время общего кэширования 1440 (минут=24 часа). Это непринципиальный пункт настроек, потому что, вы всегда сможете очистить кэш вручную, на вкладке Система→Общие настройки или по FTP соединению вручную вычистив папку cache (все кроме, файла index.php).

Отдельное кэширование модулей

С модулями не все просто. В системе есть статические и динамические модули. Например, модуль меню в виде списка это статический модуль, а модуль меню в виде выпадающих пунктов меню, это модуль динамический. К динамическим модулям относятся все модули, которые меняются со временем.

Правило простое, статические модули кэшируем, часто меняющиеся модули, кроме модулей JavaScript (реклама AdSense) не кэшируем. Но и здесь не все просто: если вы включили прогрессивное кэширование, то страница вместе со всеми модулями «потянется» из кэша, и выставленное значение в настройках модуля «Не кэшировать» учитываться не будет. Выход простой. Ставим время кэширования динамического модуля несколько минут. Кстати, по умолчанию все время кэширования выставлено 900 секунд, и, вполне, может не перестраиваться. А вот настройка кэширования для модуля «По умолчанию» (Создать модуль→Дополнительные параметры→Кэширование→По умолчанию), означает, что будет использована настройка кэша в «Общих настройках»: Система→Общие настройки→Система→Настройки кэш.

Повторюсь: Есть две группы настроек кэширования: Система - Кэш в менеджере плагинов и «Настройка кэширования» в Общих настройках. Первый имеет приоритет над вторым, но фактически, эти две группы кэширования работают параллельно.

Итоги

Как и на всех CMS настройка кэширования дело хлопотное, но нужное, если есть желание попасть в топы выдачи.

Выводы

  • Включить кэширование на Joomla 3 нужно обязательно.
  • Установите время кэширования в соответствии со временем обновления на сайте;
  • Настройте кэш таким образом, чтобы было возможно отключить кэширование динамических модулей;
  • Какой тип кэширования включить решать вам: поэкспериментируйте, на готовом сайте, с различными комбинациями включения выключения видов кэширования. У меня минимальная скорость загрузки получается при выключенном плагине кэширования страниц и включенном Прогрессивном кэшировании с жизнью кэша 10080 минут.

И последний совет: Если удалили весь кэш, например, после изменения внешнего вида сайта или какого-либо редактирования, для его восстановления, как минимум зайдите на главную страницу сайта, а как максимум прогоните сайт, через любой генератор sitemap.

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

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

Затем вкладка «Система» и здесь есть настройки кэша. Сейчас у нас по умолчанию кэширование отключено. Чтобы его включить, нужно сначала выбрать стандартное или прогрессивное кэширование. Сразу скажу, что при прогрессивном кэшировании сайт будет работать быстрее, выбираем его. Обработчик - файл и время кэширования 15 минут.

Что такое кэширование? В течение 15 минут вас сайт не будет изменяться. Не будет каждый раз показываться новые улучшения сайта, только каждые 15 минут. Поэтому выбирая это время, смотрите, насколько часто ваш сайт обновляется. Если у вас какой-то новостной портал, который должен обновляться каждые 5 минут, вы ставите кэширование меньше. Если у вас обыкновенный сайт, то 15 минут это будет оптимальный вариант.

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

Для этого есть специальный встроенный сервис, чтобы удалять кэш и чтобы изменения, которые вы сделаете на сайте были видны сразу же. Это «Обслуживание» - «Очистить весь кэш» и «Очистить устаревший кэш».

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

Есть такой интересный сайт, как http://www.nonumber.nl/. Это разработчик расширений для Joomla, у него много бесплатных расширений. Перейдем на Extensions и найдем здесь Cache Cleaner .

Есть два варианта - бесплатно скачать или купить за 10 евро. Мы скачиваем бесплатный.

Затем переходим в административную панель и его установим. Установилось все нормально и сразу предупреждение: «Пожалуйста, очистите кэш вашего Интернет-обозревателя». Потом необходимо включить этот плагин в «Менеджер плагинов.

Давайте разберем настройки. «Автоочистка при сохранении» - если мы сохраняем какое-то изменение на сайте, у нас автоматически будет удаляться кэш. Есть «Панель управления», разрешить это делать или уведомлять. Также на «Лицевой части сайта» мы можем разрешить и уведомлять, тоже самое. «Очищать при действии». Когда очищать кэш, когда мы сохраняем, когда мы применяем - save, apply . То есть нам не нужно будет каждый раз удалять кэш, он будет автоматически удаляться.

Также «Очистка других каталогов» - tmp . Если мы загружаем расширение через папку tmp, также она будет очищаться. И «Автоочистка при сохранении» только на версии PRO, каталоги например. Тоже «Очистка таблиц и базы данных», только PRO. Если нам это очень сильно нужно мы покупаем PRO за 10 евро. Дополнительные параметры: «Отображение размера кэша» - будет показываться размер кэша.

И после сохранения появляется такая кнопка «Очистить кэш». Можем сами нажимать на нее и будет нам показываться сколько Кб кэша удалили или мы можем настроить не показывать ее. Если на «Лицевая часть сайта» ставим «нет», то показываться не будет.

Загрузка...