Найти в Дзене
Alfa IT Studio

Как настроить автоматическое удаление неактуального кэша сайтов "1С-Битрикс"

Оглавление

Как часто вы очищаете кэш "Битрикс"? И знаете ли, что это нужно делать регулярно?
В этой статье наш эксперт Антон Моисеев расскажет для чего нужно чистить кэш, а также подробно со скриншотами покажет 100% работающий метод настройки регулярной автоматической очистки кэша сайтов "1С-Битрикс", который с успехом был применён командой ALFA IT STUDIO для крупного интернет-магазина alfaopt.com.

Зачем регулярно очищать кэш "Битрикс"

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

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

Настраиваем автоматическое удаление кэша на 1С-Битрикс

Перейдите на панели администрирования в Настройки (1) → Настройки продукта (2) → Автокеширование (3). Откройте вкладку «Очистка файлов кеша» и выберите (4):

  • Только устаревшие.
  • Все.
  • Меню – в случае, если проводите проверки доступа к его пунктам.
  • Весь управляемый – файлы раздела /bitrix/managed_cache/.
  • Все страницы HTML кеша.
-2

Папка /bitrix/cache/ растет

В папке /bitrix/cache/ находятся файлы неуправляемого кэша. Она может увеличиваться в объеме, если при создании файлов устанавливаются права без возможности их последующего изменения и удаления.

При назначении прав на файлы и папки используются значения констант BX_FILE_PERMISSIONS и BX_DIR_PERMISSIONS из /bitrix/php_interface/dbconn.php. но часто срабатывает маска прав на сервере и чтобы избежать этого необходимо прописать в этом же скрипте:

-3

Не удаляется устаревший кэш

Для удаления устаревшего кэша нужно добавить нового агента. Перейдите в Настройки (1) → Настройки продукта (2) → Агенты (3) и выберите «Добавить агента» (4).

-4

В открывшейся вкладке задайте настройки для агента (1-4):

  • Функция агента – clean_expire_cache();
  • Сортировка – 100.
  • Интервал – 10.
  • Модуль – main

Прочитав много статей по схожим проблемам, не увидел указание модуля - main. Обратите на это внимание!

Сохраните нового агента.

-5

Далее перейдите в /bitrix/php_interface/. Найдите файл init.php.

В файл вставьте:

-6

Время работы скрипта зависит от того, исполняется он на Cron или нет. Если скрипт исполняется не на Cron, то время исполнения назначается в 1 секунду.

Если файла init.php нет, то создайте его и вставьте. Смотрите, как это сделать, на нашем сайте.

Чистим кеш крупного интернет-магазина

Данным методом решили накопление огромного кэша у нашего клиента - компании ООО "ОС АЛЬФАСНАБ".

Сайт
https://alfaopt.com

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

-7

Обращаем внимание на столбец Used раздела vda1

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

-8

Обращаем внимание на столбец Used раздела vda1

Проблема решена, сайт работает стабильно, данные отображаются в реальном времени. В итоге - клиент доволен.


Автор статьи: Антон Моисеев

Если у вас возникают проблемы с работой системы "1С-Битрикс", необходимы доработки и уникализация по запросы вашего бизнеса, обращайтесь!
Команда ALFA IT STUDIO постоянно решает сложные задачи и помогает своим клиентам вывести прибыльность на новый уровень.

Читайте также:
7 современных CSS свойств
Компьютер для дизайнера в 2021
Верстаем страницу правильно или что такое семантическая верстка