Дата последнего изменения: 25.10.2020
Ситуация. Выявлен большой размер папки bitrix/managed_cache/MYSQL/menu
: 1.9 Gb. На сайте 4 типа сквозных меню, страниц на сайте много. В чём проблема и что делать?
Причина. На каждую страницу создаётся 1 файл кэша по каждому типу используемого меню. Кроме того, если еще задано кеширование для разных групп, то умножьте это число на количество таких групп. То есть, для каждой страницы у вас будет 4 файла кэша меню (если по группам - умножайте на количество групп). Поэтому такой размер вполне может быть.
Само по себе такое количество файлов не страшно, если место на диске достаточно. Проблема в том, что акселератор (в нашем случае APC) складывает эти файлы в кеш и кеш переполняется.
Решение: Исключить файловый кэш из акселератора, убедившись, что в template.php и result_modifier.php нет запросов и тяжелых вычислений. В файлах menu_ext запросы должны кешироваться.
apc.filters="-/bitrix/cache,-/bitrix/managed_cache/,-/upload/"
"CACHE_SELECTED_ITEMS" => "N",Это приведет к тому, что при создании файла кеша меню в ключе не будет участвовать url. А расчет выбранного уровня будет происходить после получения данных из кеша.