Оптимизация компонента bitrix:catalog.section.list

Рейтинг: 4.0194  
На голосовании
Предложил Гелейшев Павел 07.02.2017 12:48:00

Оптимизация компонента bitrix:catalog.section.list

Если в построении URL используется #SECTION_CODE_PATH#, то компонент bitrix:catalog.section.list начинает генерировать ОЧЕНЬ большое количество запросов.

например, при выводе списка из 40 разделов, генерируется 176 запросов.

Если разделов много, то может быть и 1000 запросов.

Необходимо сделать кеширование URL к разделу (по примеру фасетного индекса для умного фильтра) и брать закешированные данные.

Рейтинг: 0  
Жуков Евгений 07.02.2017 17:23:56
Какая версия модуля iblock у Вас?
Рейтинг: 0  
Гелейшев Павел 07.02.2017 18:00:26
Это на всех версиях воспроизводится. Конкретно сейчас вижу проблему на 16.5.6
Обновил тестовый сайт до бета 17.0.0 и проблема не ушла.
http://take.ms/diI5l
Рейтинг: 0  
Гелейшев Павел 07.02.2017 18:05:57
Нет. вру. SECTION_CODE_PATH сейчас не оказывает влияния.
Но 883 запроса - это реально. Стандартный catalog.section.list

           <?$APPLICATION->IncludeComponent("bitrix:catalog.section.list", "", Array(
   "COMPONENT_TEMPLATE" => ".default",
       "IBLOCK_TYPE" => "catalog",    // Тип инфоблока
       "IBLOCK_ID" => "47",    // Инфоблок
       "SECTION_ID" => "",    // ID раздела
       "SECTION_CODE" => "",    // Код раздела
       "COUNT_ELEMENTS" => "N",    // Показывать количество элементов в разделе
       "TOP_DEPTH" => "3",    // Максимальная отображаемая глубина разделов
       "SECTION_FIELDS" => array(    // Поля разделов
           0 => "",
           1 => "",
       ),
       "SECTION_USER_FIELDS" => array(    // Свойства разделов
           0 => "",
           1 => "",
       ),
       "VIEW_MODE" => "LIST",    // Вид списка подразделов
       "SHOW_PARENT_NAME" => "Y",    // Показывать название раздела
       "SECTION_URL" => "",    // URL, ведущий на страницу с содержимым раздела
       "CACHE_TYPE" => "A",    // Тип кеширования
       "CACHE_TIME" => "36000000",    // Время кеширования (сек.)
       "CACHE_GROUPS" => "N",    // Учитывать права доступа
       "ADD_SECTIONS_CHAIN" => "N",    // Включать раздел в цепочку навигации
   ),
   false
);?>

создаёт 883 запроса. На 17.0.0
Рейтинг: 0  
Bozhenov Roman 25.03.2017 22:16:31
Такая же проблема.
с catalog.section.list и catalog.section
как победить?