Добрый день.
Имеется ситуация, на странице размещен компонент bitrix:news.list
Количество записей в инфоблоке > 20к, при включении отладки на сайте показывает что
нагрузку дает запрос
Время выполнения 35c.
Свойства инфоблока находятся в отдельной таблице.
Версия битрикса 10.0.1.
Сервер выделенный.
Если включить кеширование то всё ок, работает быстро но большое время первой генерации что неподходит.
Для настройки использовались
Собсно вопрос, какие могут быть возможные варианты увеличить скорость.
Спасибо.
Имеется ситуация, на странице размещен компонент bitrix:news.list
| Код |
|---|
<?$APPLICATION->IncludeComponent("bitrix:news.list", "", array(
"IBLOCK_TYPE" => "materials",
"IBLOCK_ID" => "7",
"NEWS_COUNT" => "5",
"SORT_BY1" => "ACTIVE_FROM",
"SORT_ORDER1" => "DESC",
"SORT_BY2" => "ACTIVE_FROM",
"SORT_ORDER2" => "DESC",
"FILTER_NAME" => "indexMedianewsFilter",
"FIELD_CODE" => array(
0 => "DATE_ACTIVE_FROM",
1 => "",
),
"PROPERTY_CODE" => array(
0 => "",
1 => "",
),
"CHECK_DATES" => "Y",
"DETAIL_URL" => "#ELEMENT_CODE#.htm",
"AJAX_MODE" => "N",
"AJAX_OPTION_SHADOW" => "Y",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
"CACHE_TYPE" => "N",
"CACHE_TIME" => "36000000",
"CACHE_FILTER" => "Y",
"CACHE_GROUPS" => "Y",
"PREVIEW_TRUNCATE_LEN" => "",
"ACTIVE_DATE_FORMAT" => "d.m.Y",
"SET_TITLE" => "N",
"SET_STATUS_404" => "N",
"INCLUDE_IBLOCK_INTO_CHAIN" => "N",
"ADD_SECTIONS_CHAIN" => "N",
"HIDE_LINK_WHEN_NO_DETAIL" => "N",
"PARENT_SECTION" => "22",
"PARENT_SECTION_CODE" => "medianews",
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "N",
"PAGER_TITLE" => "Новости",
"PAGER_SHOW_ALWAYS" => "N",
"PAGER_TEMPLATE" => "",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"PAGER_SHOW_ALL" => "N",
"DISPLAY_DATE" => "N",
"DISPLAY_NAME" => "Y",
"DISPLAY_PICTURE" => "N",
"DISPLAY_PREVIEW_TEXT" => "N",
"AJAX_OPTION_ADDITIONAL" => ""
),
false,
array(
"ACTIVE_COMPONENT" => "Y"
)
);?>
|
Количество записей в инфоблоке > 20к, при включении отладки на сайте показывает что
нагрузку дает запрос
| Код |
|---|
SELECT BE.ID as ID,BE.IBLOCK_ID as IBLOCK_ID,BE.IBLOCK_SECTION_ID as IBLOCK_SECTION_ID,BE.NAME as NAME,IF(EXTRACT(HOUR_SECOND FROM BE.ACTIVE_FROM)>0, DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y')) as ACTIVE_FROM,B.DETAIL_PAGE_URL as DETAIL_PAGE_URL,BE.DETAIL_TEXT as DETAIL_TEXT,BE.DETAIL_TEXT_TYPE as DETAIL_TEXT_TYPE,BE.PREVIEW_TEXT as PREVIEW_TEXT,BE.PREVIEW_TEXT_TYPE as PREVIEW_TEXT_TYPE,BE.PREVIEW_PICTURE as PREVIEW_PICTURE, FPS0.*,L.DIR as LANG_DIR,BE.SORT as SORT,BE.CODE as CODE,BE.XML_ID as EXTERNAL_ID,B.IBLOCK_TYPE_ID as IBLOCK_TYPE_ID,B.CODE as IBLOCK_CODE,B.XML_ID as IBLOCK_EXTERNAL_ID,B.LID as LID FROM b_iblock B INNER JOIN b_lang L ON B.LID=L.LID INNER JOIN b_iblock_element BE ON BE.IBLOCK_ID = B.ID INNER JOIN b_iblock_element_prop_s7 FPS0 ON FPS0.IBLOCK_ELEMENT_ID = BE.ID INNER JOIN ( SELECT DISTINCT B.ID FROM b_iblock B INNER JOIN b_iblock_site BS ON BS.IBLOCK_ID = B.ID WHERE ((((BS.SITE_ID='s1')))) AND ((((B.ID = '7')))) ) BB ON BB.ID = BE.IBLOCK_ID WHERE 1=1 AND ( ((((BE.IBLOCK_ID = '7')))) AND ((((BE.ACTIVE='Y')))) AND (((BE.ACTIVE_TO >= now() OR BE.ACTIVE_TO IS NULL) AND (BE.ACTIVE_FROM <= now() OR BE.ACTIVE_FROM IS NULL))) ) AND (((BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL))) ORDER BY BE.ACTIVE_FROM desc ,BE.SORT asc ,BE.ID desc LIMIT 2 |
Время выполнения 35c.
Свойства инфоблока находятся в отдельной таблице.
Версия битрикса 10.0.1.
Сервер выделенный.
Если включить кеширование то всё ок, работает быстро но большое время первой генерации что неподходит.
Для настройки использовались
Собсно вопрос, какие могут быть возможные варианты увеличить скорость.
Спасибо.
