ݺߣ

ݺߣShare a Scribd company logo
Композитный сайт. Как ускорить
отдачу сайта в 100 раз.
Валерия Алексеева
веб-программист компании Центр Высоких Технологий
Основная идея
Динамический контент
Cхема работы технологии
Настройка в админке
Хранение кеша
•Файлы (папка /bitrix/html_pages/)
•Memcached
Отдача кеша
•PHP (по умолчанию)
•Nginx (требуется дополнительная настройка)
Композитный режим не будет работать если:
• Это POST-запрос
• Это HTTPS
• Это IE6 - 9 (main 14.5.2)
• Запрос начинается с /bitrix
• Это ajax-запрос, сделанный с помощью BX.ajax
• Есть cookie _NCC
• Запрос входит хотя бы в одну маску включения
• Пользователь не ходит ни в одну из указанных групп
Отладка
• dbconn.php:
define("BX_COMPOSITE_DEBUG", true);
define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/log.txt");
• В папке кеша /bitrix/html_pages/<domain>/ файлы перед перезаписью
копируются в *.delete.<microtime>
Шаблон компонента голосующего ЗА
Шаблон компонента голосующего ПРОТИВ
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$this->setFrameMode(false);?>
Если компонент на странице голосует против, то в лог фаил пишется:
Выделение динамической области
Свой контейнер и инициализация JS
Создание динамических зон в цикле:
foreach ($arResult["ITEMS"] as $key => $item) {
$frame = $this->createFrame()->begin('loading ' .
$key);
print_r($item);
$frame->end();
}
Работа с локальной БД браузера
В закешированной странице нет следующих JS-данных:
• BX.message("USER_ID")
• BX.message("bitrix_sessid") или BX.bitrix_sessid()
• BX.message("SERVER_TIME")
• BX.message("SERVER_TZ_OFFSET")
• BX.message("USER_TZ_OFFSET")
• BX.message(”USER_TZ_AUTO")
Осторожно используем BX.message
Упс! Пересоздан статический фаил
Кнопка “Быстро с 1С-Битрикс”
Что ждать в версии 15.0?
1. Удобный инструмент для отладки
Уход от констант и текстовых логов
Логирование причин, из-за которых не сработал композитный режим
Визуальное сравнение версий страниц
2. Упрощение настройки nginx
Автоконфигуратор правил на основе настроек в админке
3. Персонализированный кеш
Что почитать?
• Учебный курс: https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=39
• Документация на сайте: http://dev.1c-bitrix.ru/user_help/settings/settings/composite.php
• Посты в блоге Антона Герасимюка:
http://dev.1c-bitrix.ru/community/blogs/cookbook/composite-website-tips-tricks.php
http://dev.1c-bitrix.ru/community/blogs/cookbook/composite-news.php

More Related Content

«Композитный сайт. Ускорение отдачи сайта в 100 раз»