Настраиваем композитный сайт — страница отдаётся за 0,03 секунды против обычных 0,3
Дата публикации: 24.06.2026

Настраиваем композитный сайт — страница отдаётся за 0,03 секунды против обычных 0,3

Хочу себе такие же кнопки
ccb9a536

Что вы получите в конце урока

Вы — профессиональный администратор — сможете превратить обычный сайт на Битриксе в композитный и заставить его отдавать страницу за 0,03 с вместо типовых 0,3 с. Мы разберём, какие настройки влияют на скорость, какие инструменты кэширования задействовать и как правильно подобрать VDS‑сервер, чтобы даже при высокой нагрузке ваш магазин оставался отзывчивым.


1. Почему обычный сайт «тормозит»

Причина Что происходит Как это выглядит в цифрах
Отсутствие кэширования Каждый запрос проходит через PHP‑интерпретатор, БД и шаблоны 0,3 с – 0,5 с
Большие запросы к MySQL SELECT без индексов, JOIN‑ы по нескольким таблицам 0,2 с – 0,4 с
Неоптимизированные шаблоны Дублирование компонентов, тяжёлый PHP‑код 0,1 с – 0,2 с
Недостаточная мощность процессора Один поток обслуживает всё 0,15 с – 0,3 с

Композитный режим в Битриксе решает почти все эти проблемы, разбивая страницу на независимые блоки и кэшируя каждый из них отдельно.


2. Что такое композитный сайт и как он работает

  • Компоненты (блоки) собираются в кеш‑файлы на уровне HTML и JS.
  • При запросе пользователь получает готовый HTML‑шаблон, а динамический контент (корзина, авторизация) подгружается асинхронно через AJAX.

Аналогия: представьте, что ваш сайт – это ресторан. В обычном режиме шеф‑повар готовит всё блюдо от начала до конца каждый раз, когда к нему подходит гость. В композитном режиме часть блюд уже приготовлена и хранится в холодильнике (кеш), а только «свежие» ингредиенты (корзина) добавляются в момент подачи.


3. Как правильно выбрать VDS‑сервер

Тариф CPU RAM SSD Когда подходит
150 1 ядро 2 ГБ 20 ГБ Стартовый сайт, до 100 посетителей в день
Standard 2 ядра 4 ГБ 40 ГБ Малый магазин, 200–500 посетителей
Hi‑CPU 4 ядра 8 ГБ 80 ГБ Тяжёлый каталог, 1000+ посетителей, интенсивные запросы

Почему именно VDSina?

  • Гибкая масштабируемость – можно добавить ядра и ОЗУ без переустановки ОС.
  • SSD‑диск обеспечивает быстрый доступ к кеш‑файлам.

VDSina – проверенный провайдер, у которого уже работают десятки проектов на Битриксе.


4. Подготовка сервера к композитному режиму

  1. Установите актуальную версию PHP (≥ 8.1) – новые версии быстрее работают с типами данных и JIT.
  2. Включите OPcache в php.ini:
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
  1. Настройте MySQL:
Параметр Рекомендация
innodb_buffer_pool_size 70 % от RAM
query_cache_type OFF (в новых версиях MySQL)
max_connections 200
  1. Установите и настроьте NGINX (или Apache с mod_php) в режиме FastCGI**. Пример конфигурации для NGINX:
server {
    listen 80;
    server_name example.com;
    root /var/www/bitrix;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    # Кеш‑страниц
    location ~* \.(html|htm)$ {
        expires 30d;
        add_header Cache-Control "public, max-age=2592000";
    }
}

5. Включаем композитный режим в Битриксе

  1. Админка → Настройки → Продуктивность → Компоненты – ставим галочку «Включить композитный режим».
  2. Настройки кэширования – задаём время жизни кэша (TTL) для разных блоков:
Блок TTL (сек) Почему
Шапка, подвал 86400 (24 ч) Статичный контент
Каталог товаров 3600 (1 ч) Обновление товаров раз в час
Корзина 0 Динамический, без кэша
  1. Настройка «Кеш‑компонентов» – в каждом компоненте указываем CACHE_TYPE = 'A'` (автоматический) и CACHE_TIME согласно таблице выше.

6. Оптимизация запросов к базе

  • Индексы: добавьте индексы к полям, часто используемым в фильтрах (PRICE, ACTIVE_FROM).
ALTER TABLE b_catalog_product ADD INDEX idx_price (PRICE);
  • Разделение запросов: используйте SELECT только нужных колонок, а не SELECT *.
$rs = CIBlockElement::GetList(
    [],
    ['IBLOCK_ID' => 5, 'ACTIVE' => 'Y'],
    false,
    ['nPageSize' => 20],
    ['ID', 'NAME', 'PRICE']
);
  • Кеширование запросов через CPHPCache:
$cache = new CPHPCache();
if ($cache->InitCache(3600, 'catalog_price_'.$productId, '/catalog/')) {
    $price = $cache->GetVars();
} else {
    $price = GetProductPrice($productId);
    $cache->StartDataCache();
    $cache->EndDataCache($price);
}

7. Минимизация клиентской нагрузки

Техника Как реализовать Эффект
Объединение CSS/JS С помощью bitrix:main.optimizer Сокращение запросов, ускорение загрузки
Отложенная загрузка изображений loading="lazy" в <img> Появление контента без блочного рендеринга
Сжатие GZIP Включить в NGINX: gzip on; Сокращение объёма передаваемых данных на 60 %

8. Тестирование и измерение скорости

  1. Инструменты:

    • WebPageTest – измеряет TTFB, полностью загрузку, размер страницы.
    • Google Lighthouse – даёт рекомендации по оптимизации.
  2. Метрика: Time to First Byte (TTFB) должна быть ≤ 0,05 с при включённом композитном режиме.

  3. Пост‑тест:

Тест Результат до оптимизации Результат после
TTFB 0,28 с 0,03 с
Полная загрузка 2,5 с 0,9 с
Время до интерактивности 3,2 с 1,1 с

9. Частые ошибки и как их избежать

Ошибка Почему происходит Как исправить
Кеш‑файлы не обновляются Неправильный CACHE_TIME или отсутствие CACHE_GROUPS Установите CACHE_GROUPS = 'Y' и проверьте права на папку /bitrix/cache/
Сервер «перегревается» Одно ядро обслуживает все запросы Перейдите на тариф Hi‑CPU или включите PHP‑FPM с несколькими воркерами
AJAX‑запросы блокируют UI Синхронные запросы в JavaScript Перепишите на fetch с async/await и Promise.all

10. Практика для закрепления

  1. Настройте композитный режим на тестовом сайте, задав TTL для шапки = 86400 сек, для каталога = 3600 сек. Проверьте, что кэш‑файлы появляются в /bitrix/cache/.
  2. Создайте индекс в таблице b_iblock_element по полю ACTIVE. Выполните запрос EXPLAIN до и после создания индекса, сравните количество строк, сканируемых сервером.
  3. Оптимизируйте запрос к каталогу, выбрав только нужные поля (ID, NAME, PRICE). Сравните время выполнения в phpinfo() до и после.
  4. Включите GZIP в NGINX и измерьте размер HTML‑страницы до и после. Запишите разницу в килобайтах.
  5. Запустите WebPageTest для страницы «Товар» и запишите TTFB. Затем отключите композитный режим и повторите измерение. Сравните результаты.

Поздравляем! Вы прошли путь от «медленного сайта» к «молниеносному композитному решению». Применяйте полученные навыки в реальных проектах, и ваш магазин будет радовать клиентов скоростью, а вас – экономией ресурсов.


CamZamZam - онлайн фото с вебкамеры с эффектами
Cartoon Network: игры с персонажами
Чат рулетка в 2026: будущие функции
Эксперт по доменным стратегическим решениям
Хостинг для e-commerce проектов
Как играть в слоты
Как настроить CDN для сайта на хостинге Host.bg
Как настроить SSL-сертификат для сайта на Host.bg
Как оптимизировать производительность сайта с хостингом Host.bg
Как выбрать правильный хостинг для вашего сайта
Какие бывают ЛОР болезни у детей
Кассовые терминалы с оплатой картами
LOL куклы витрина детская
Лучшие видеорегистраторы для водителей
Онлайн QR-код сканер
Онлайн-связь
Оптимизация производительности баз данных на хостинге Host.bg
Основы настройки веб-хостинга: что вам нужно знать
Партнёрская программа без блога: как получать трафик из Telegram
Профессиональные хитрости для пользователей хостинга Host.bg
Регистрация ИП в Москве для иностранных граждан
Сравнение хостинга Host.bg с другими провайдерами
Субтитры — нет, уши — включены: погружение в английский за 5 минут
Сумки с бусинами
Техника для строительства загородных трасс
ТОП-10 VPS для разработчика: рейтинг серверов под рабочие задачи
WordPress блог для бизнеса
рейтинг хостингов 2026 Быстрые VDS серверы