СезонГотовим магазин к высокому сезону и Чёрной пятнице: скорость, нагрузка, акции
Ускорение и производительность

Настройка кеширования на 1С-Битрикс для быстрой отдачи страниц

Настраиваем все виды кеша на 1С-Битрикс: автокеш компонентов, тегированный кеш, композитный сайт, Redis и Memcached, CDN. Выстраиваем правильную инвалидацию и поднимаем hit-rate, чтобы страницы отдавались быстро и без лишней нагрузки на сервер.

10 летна проектах 1С-Битрикс
90%+типичный hit-rate после настройки
до ×6ускорение отдачи страниц
Redisхранилище кеша и сессий
Запрос Кеш База данных Быстрый ответ мимо hit-rate
Зачем настраивать кеширование

Где проект на Битрикс теряет скорость без правильного кеша

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

Каждая страница собирается заново: компоненты дёргают базу на каждый запрос, сервер задыхается в пик.
Включаем автокеш компонентов и кешируем тяжёлые выборки, чтобы готовый результат отдавался из памяти, минуя базу.
После правки цены или товара изменения не видны: кеш отдаёт старые данные часами.
Настраиваем тегированный кеш и правильную инвалидацию — кеш сбрасывается точечно ровно по изменённым данным.
Кеш сбрасывают целиком по любому чиху, и после очистки сервер снова собирает всё с нуля под нагрузкой.
Делаем инвалидацию по тегам вместо полного сброса, прогреваем ключевые страницы и держим hit-rate высоким.
Кеш лежит в файлах, и под нагрузкой диск становится узким местом: чтение и блокировки тормозят сайт.
Переносим кеш и сессии в Redis или Memcached — доступ в памяти быстрее, файловая система разгружается.
Даже закешированную страницу сервер всё равно собирает целиком на каждый заход анонимного посетителя.
Включаем композитный сайт: статическая часть отдаётся мгновенно, динамика подгружается отдельно.
Картинки, скрипты и стили грузятся с одного сервера и тормозят у клиентов из других регионов.
Подключаем CDN для статики: файлы отдаются с ближайшего узла, страница собирается у пользователя быстрее.
Виды кеша

Какие слои кеширования мы настраиваем

На Битрикс работает несколько слоёв кеша, и каждый закрывает свой участок. Настраиваем их в комплексе — от автокеша компонентов до CDN — так, чтобы они дополняли друг друга, а не мешали.

Автокеш компонентов

Готовый результат работы компонента отдаётся из кеша, а не пересобирается с обращением к базе на каждый запрос.

Тегированный кеш

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

Управляемый кеш

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

Композитный сайт

Статическая часть страницы отдаётся мгновенно из кеша, а динамика подгружается отдельным запросом.

Redis и Memcached

Кеш и сессии переносятся в память, доступ ускоряется, а файловая система и диск перестают быть узким местом.

CDN для статики

Картинки, скрипты и стили раздаются с ближайшего к пользователю узла, разгружая основной сервер.

Как это работает

Путь запроса через слои кеша

Запрос сначала проверяет кеш в памяти, затем композит, и только при промахе доходит до сборки страницы и базы. Чем выше hit-rate, тем чаще ответ берётся из быстрого слоя.

Запроспосетитель Кеш в памятиRedis · Memcached Композитстатика + динамика Сборкакомпоненты БД hit: ответ из кеша, мимо базы При промахе кеша страница собирается заново и попадает в кеш на будущее
Запрос → кеш в памяти → композит → сборка страницы → база данных.
Сравнение

Как настраивают кеш: разные подходы

Критерий Своими силамиСлучайный фрилансерСтудия B2Bsite
Подход к кешу Включают «всё подряд»Точечно, без системыВсе слои в комплексе
Сброс кеша Полный сброс по кнопкеПо ситуацииИнвалидация по тегам
Хранилище Кеш в файлахИногда RedisRedis или Memcached
Композит и CDN Чаще нетРедкоДа, с прогревом
Результат Старые данные у клиентаКеш ломается при правкахВысокий hit-rate, свежие данные
Направления

Что именно нужно настроить

Кеширование на Битрикс — это несколько связанных задач. Если нужен фокус на конкретном слое, выберите профильное направление: глубину и состав работ подберём под ваш проект и нагрузку.

Настройка кеширования

Автокеш компонентов, тегированный и управляемый кеш, правильная инвалидация и прогрев для высокого hit-rate.

  • Автокеш компонентов
  • Тегированная инвалидация
  • Прогрев и hit-rate

Настройка композитного сайта

Включение и отладка композита: статика отдаётся мгновенно, динамика подгружается отдельно без поломок.

  • Статика мгновенно
  • Динамика отдельно
  • Отладка composite

Настройка Redis / Memcached

Перенос кеша и сессий в память: установка, настройка хранилища и связка с Битрикс под нагрузку.

  • Кеш в памяти
  • Сессии в Redis
  • Разгрузка диска

Настройка CDN

Раздача статики через сеть доставки контента: подключение, правила кеширования и инвалидация файлов.

  • Статика с CDN
  • Правила кеша
  • Сброс по версии
Эффект после настройки

Что меняется в цифрах

90%+
попаданий в кеш на типовых страницах
×6
быстрее отдача закешированных страниц
−70%
нагрузки на базу данных в пик
< 0.3 с
время отдачи композитной страницы

Ориентиры по проектам нашей команды. Точные показатели для вашего проекта оценим на бесплатном аудите кеширования.

Как идёт работа

Этапы настройки кеширования

01

Аудит кеширования

Смотрим текущий hit-rate, профилируем страницы и запросы, находим тяжёлые компоненты и места без кеша.

02

Настройка слоёв кеша

Включаем автокеш компонентов, тегированный и управляемый кеш, выносим хранилище в Redis или Memcached.

03

Инвалидация и композит

Выстраиваем точечный сброс по тегам, включаем композитный сайт и подключаем CDN для статики.

04

Прогрев и проверка

Прогреваем ключевые страницы, замеряем hit-rate и скорость под нагрузкой, проверяем актуальность данных.

05

Передача и регламент

Документируем схему кеша и правила сброса, передаём доступы и инструкции вашей команде.

Сроки

Сколько занимает настройка

1–2 дня Аудит кеша и профилирование
1
2–4 дня Настройка слоёв и хранилища кеша
2
2–3 дня Инвалидация, композит, CDN
3
1–2 дня Прогрев, нагрузочная проверка
4
1 день Документация и передача
5
Подробно об услуге

Кеширование на 1С-Битрикс: что это и как ускоряет сайт

Настройка кеширования на 1С-Битрикс — это работа со всеми слоями кеша сразу: автокешем компонентов, тегированным и управляемым кешем, композитным сайтом, хранилищем в Redis или Memcached и раздачей статики через CDN. Цель одна — чтобы страницы отдавались быстро и без лишней нагрузки на сервер, но при этом всегда показывали актуальные данные. Кеш на Битрикс есть по умолчанию, однако из коробки он настроен грубо: где-то выключен, где-то сбрасывается целиком по любому изменению, а где-то отдаёт устаревшую информацию. Грамотная настройка превращает кеш из источника проблем в главный рычаг ускорения проекта.

Суть кеширования проста: вместо того чтобы собирать страницу заново при каждом запросе — обращаться к базе, считать выборки, формировать HTML — сервер один раз делает эту работу и сохраняет готовый результат. Следующие посетители получают страницу из кеша почти мгновенно, а база и процессор не нагружаются повторно. Чем выше доля запросов, обслуженных из кеша, тем быстрее сайт и тем больше нагрузки он выдерживает на том же железе. Эту долю называют hit-rate, и поднять её как можно выше — основная задача настройки.

Из каких слоёв состоит кеш Битрикс

Кеширование на Битрикс — это не один переключатель, а несколько связанных механизмов. Каждый закрывает свой участок, и максимальный эффект даёт их совместная настройка, а не один включённый слой. Грубое включение всего подряд так же вредно, как и полное отсутствие кеша: данные застывают, а сброс по любому чиху обнуляет hit-rate.

Основные слои кеширования, которые мы настраиваем:

  • автокеш компонентов — готовый результат компонента отдаётся из кеша вместо повторной сборки с обращением к базе;
  • тегированный кеш — страницы помечаются тегами по данным и сбрасываются точечно при изменении товара или раздела;
  • управляемый кеш инфоблоков — кеш автоматически чистится при правке элементов, без ручной очистки;
  • композитный сайт — статическая часть страницы отдаётся мгновенно, а динамика подгружается отдельно;
  • Redis или Memcached — кеш и сессии переносятся в память, разгружая файловую систему и диск;
  • CDN для статики — картинки, скрипты и стили раздаются с ближайшего к пользователю узла.

Почему важна правильная инвалидация

Самое сложное в кешировании — не включить кеш, а заставить его вовремя обновляться. Если кеш не сбрасывается при изменении данных, посетитель видит старую цену, отсутствующий товар или прошлогоднюю акцию. Если же кеш сбрасывают целиком по любому изменению, hit-rate обнуляется и сервер собирает все страницы заново, часто под текущей нагрузкой. Правильная инвалидация решает эту дилемму: кеш помечается тегами по данным и сбрасывается точечно, ровно по изменённым элементам. После правки товара обновляются только страницы с этим товаром, а весь остальной кеш остаётся в силе. Так достигается и высокий hit-rate, и свежесть данных одновременно.

На страницах с часто меняющимися данными — ценами, остатками, акциями — мы выделяем динамические зоны и выносим их из кеша или подгружаем отдельно через композит. Общая часть страницы при этом остаётся в кеше и отдаётся быстро, а динамика всегда актуальна. Персонализированные страницы вроде корзины и личного кабинета не кешируются целиком: пользователь должен видеть свои данные, а не чужие. Эти приёмы и отличают грамотную настройку от грубого включения кеша на всём проекте.

Зачем выносить кеш в память и подключать CDN

На нагруженных проектах файловое хранилище кеша становится узким местом: множество мелких файлов, блокировки и обращения к диску тормозят сайт. Перенос кеша и сессий в Redis или Memcached убирает эту проблему — данные лежат в оперативной памяти, доступ к которой намного быстрее, а файловая система разгружается. Это особенно заметно на крупных каталогах и проектах с большим трафиком, где число операций с кешем огромно.

Композитный сайт ускоряет даже первый показ страницы: статика отдаётся мгновенно из кеша, а динамика встраивается отдельным запросом. CDN добивает картину со стороны статики — картинки, скрипты и стили раздаются с ближайшего к посетителю узла, ускоряя загрузку для клиентов из разных регионов и разгружая основной сервер. Эти слои работают поверх кеша Битрикс и дополняют его, поэтому максимальный результат даёт настройка всей связки в комплексе, а не по отдельности.

Как мы замеряем и удерживаем результат

Кеширование — та область, где эффект легко выразить в цифрах. До начала работ мы замеряем текущий hit-rate, время отдачи страниц и нагрузку на базу, в том числе под нагрузочным тестом. После настройки повторяем замеры и показываем разницу: насколько вырос hit-rate, во сколько раз ускорилась отдача закешированных страниц, насколько снизилась нагрузка на базу в пиковые часы. Это конкретный отчёт с метриками, по которому видно, что именно изменилось и за счёт какого слоя кеша, а не общие обещания ускорения.

Отдельно проверяем актуальность данных после настройки: прогоняем сценарии правки товаров, цен и остатков и убеждаемся, что изменения доходят до сайта сразу, а не по таймауту. Тестируем персонализированные страницы вроде корзины и личного кабинета, чтобы каждый пользователь видел свои данные, а не закешированные чужие. Чтобы кеш оставался эффективным со временем, по желанию подключаем мониторинг hit-rate: он сигнализирует, если доля попаданий начинает падать или хранилище переполняется, и вы успеваете отреагировать до того, как это заметят посетители.

Состав работ

Что именно мы делаем по кешированию

Аудит кеша, профилирование страниц и запросов
Включение автокеша компонентов там, где это безопасно
Настройка тегированного и управляемого кеша
Выстраивание точечной инвалидации по тегам
Перенос кеша и сессий в Redis или Memcached
Включение и отладка композитного сайта
Подключение CDN и правил инвалидации статики
Прогрев ключевых страниц и нагрузочная проверка
Документация схемы кеша и передача команде
Тарифы

Сколько стоит настройка кеширования

Стоимость зависит от размера проекта, числа шаблонов и состояния кеша. Ниже — ориентиры; точную смету присылаем после короткого аудита, бесплатно.

Базовая настройка
от 25 000 ₽
Срок: от 2 дней

Автокеш компонентов и тегированный кеш с правильной инвалидацией.

  • Автокеш компонентов
  • Тегированный кеш
  • Точечная инвалидация
  • Проверка актуальности данных
Популярный выбор
Кеш под нагрузку
от 60 000 ₽
Срок: от 5 дней

Все слои кеша плюс Redis и композитный сайт для высокой нагрузки.

  • Все слои кеша
  • Redis или Memcached
  • Композитный сайт
  • Прогрев ключевых страниц
  • Замер hit-rate под нагрузкой
Кеш и CDN комплекс
от 110 000 ₽
Срок: от 8 дней

Полная связка кеша, композита и CDN с регламентом сброса.

  • Все возможности «Кеш под нагрузку»
  • Подключение и настройка CDN
  • Регламент инвалидации
  • Мониторинг hit-rate
  • Сопровождение настроек
Базовая настройка от 25 000 ₽
Срок: от 2 дней

Автокеш компонентов и тегированный кеш с правильной инвалидацией.

  • Автокеш компонентов
  • Тегированный кеш
  • Точечная инвалидация
  • Проверка актуальности данных
Популярный Кеш под нагрузку от 60 000 ₽
Срок: от 5 дней

Все слои кеша плюс Redis и композитный сайт для высокой нагрузки.

  • Все слои кеша
  • Redis или Memcached
  • Композитный сайт
  • Прогрев ключевых страниц
  • Замер hit-rate под нагрузкой
Кеш и CDN комплекс от 110 000 ₽
Срок: от 8 дней

Полная связка кеша, композита и CDN с регламентом сброса.

  • Все возможности «Кеш под нагрузку»
  • Подключение и настройка CDN
  • Регламент инвалидации
  • Мониторинг hit-rate
  • Сопровождение настроек

Дополнительные опции

Перенос кеша и сессий в Redis от 20 000 ₽
Подключение и настройка CDN от 25 000 ₽
Мониторинг hit-rate и алерты от 18 000 ₽
Расчёт выгоды

Сколько даёт ускорение отдачи страниц

Прикиньте, как изменится скорость и сколько посетителей перестанут уходить с медленных страниц, когда кеш настроен правильно и hit-rate высокий. Быстрая отдача напрямую влияет на конверсию.

Удержанная выручка в месяц 0 ₽

Оценка по формуле: посетители × доля уходящих × ценность визита × 0,3 (доля, которую реально возвращает ускорение). Это ориентир, а не гарантия.

Умный расчёт

Подберём схему кеширования под ваш проект

Ответьте на несколько вопросов о проекте и нагрузке — предложим, какие слои кеша настроить в первую очередь и какой эффект это даст.

Вопрос 1
Загрузка вопроса…

Примеры работ

Кейсы по настройке кеширования

Интернет-магазин

Тегированный кеш и Redis для каталога на 80 000 товаров

Перевели кеш на тегированную инвалидацию и в Redis: страницы каталога стали отдаваться из памяти, база разгрузилась.

93%hit-rate
−68%Нагрузка на БД
×5Отдача страницы
Контентный портал

Композитный сайт для главной и разделов под трафик

Включили композит на главной и разделах: статика отдаётся мгновенно, сервер выдержал пиковый наплыв посетителей.

< 0.3 сОтдача страницы
выдержанПик трафика
4 дняСрок
B2B-портал

CDN и прогрев кеша для геораспределённых клиентов

Подключили CDN для статики и прогрев ключевых страниц: клиенты из разных регионов получили быструю загрузку.

×3Загрузка в регионах
90%hit-rate
6 днейСрок
Отзывы клиентов

Что говорят о настройке кеша

«Каталог тормозил в пик, база была перегружена. После настройки тегированного кеша и переноса в Redis страницы стали летать, а сервер перестал падать под нагрузкой.»

Игорь С. Руководитель ИТ, оптовая компания

«Раньше после правки товара цена менялась на сайте только через час. Теперь кеш сбрасывается точечно и сразу, при этом hit-rate остался высоким. Очень довольны подходом.»

Марина К. Контент-менеджер, интернет-магазин

«Включили композитный сайт и подключили CDN — главная стала открываться почти мгновенно даже у клиентов из других регионов. Всё аккуратно задокументировали и передали нашей команде.»

Алексей Р. Технический директор, портал
Почему мы

На что можно рассчитывать по договору

Все слои кеша в комплексе

Настраиваем автокеш, теги, композит, Redis и CDN вместе, чтобы они дополняли друг друга, а не конфликтовали.

Правильная инвалидация

Сбрасываем кеш точечно по тегам вместо полного сброса, поэтому данные свежие, а hit-rate остаётся высоким.

Замеры до и после

Показываем hit-rate и скорость отдачи в цифрах до и после настройки — эффект виден, а не на словах.

Регламент и передача

Документируем схему кеша и правила сброса, чтобы ваша команда понимала, как всё устроено и работает.

База знаний

Частые вопросы о кеше — и наш ответ

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

Hit-rate

Кеш вроде включён, но сайт всё равно тормозит в пик

Наш ответ

Чаще всего часть компонентов работает без кеша и дёргает базу на каждый запрос, а hit-rate низкий. Мы профилируем страницы, включаем автокеш там, где безопасно, и переносим хранилище в Redis. Hit-rate поднимается, база разгружается, скорость растёт.

Данные

После правки цены изменения видны на сайте только через час

Наш ответ

Это признак неправильной инвалидации: кеш не сбрасывается по изменению или сбрасывается по таймауту. Настраиваем тегированный и управляемый кеш — при правке товара сбрасываются только затронутые страницы, и данные обновляются сразу, без потери hit-rate.

Нагрузка

После сброса кеша сервер падает под наплывом посетителей

Наш ответ

Полный сброс обнуляет hit-rate, и сервер собирает всё заново под нагрузкой. Мы уходим от полного сброса к точечной инвалидации по тегам и добавляем прогрев ключевых страниц, чтобы сброс не ронял скорость и не вызывал всплеск нагрузки.

Регионы

У клиентов из других регионов сайт грузится заметно медленнее

Наш ответ

Статика отдаётся с одного сервера и долго идёт до удалённых пользователей. Подключаем CDN: картинки, скрипты и стили раздаются с ближайшего узла, а основной сервер разгружается. Загрузка в регионах ускоряется, особенно на тяжёлых страницах с медиа.

Экспертный взгляд

Грамотная настройка кеша или включить «всё подряд»

Соблазн понятен: зайти в настройки Битрикс, включить кеш везде, нажать кнопку очистки и считать задачу решённой. На бумаге это выглядит как пять минут работы. На практике именно так и появляется большинство проблем с кешем: данные на сайте застывают, после каждой правки приходится вручную чистить кеш, а под нагрузкой сервер всё равно падает, потому что hit-rate низкий, а сброс полный. Грамотная настройка кеширования — это не про то, чтобы включить больше галочек, а про то, чтобы каждый слой работал точно и согласованно с остальными. Ниже разбираем, из чего складывается правильный кеш и почему его стоит настраивать в комплексе.

Почему «включить всё» не работает

Когда кеш включают грубо и на всём подряд, проект сталкивается с двумя противоположными бедами. Первая — устаревшие данные: посетитель видит старую цену, отсутствующий на складе товар или давно закончившуюся акцию, потому что кеш не сбрасывается при изменении данных. Вторая — обратная: чтобы данные были свежими, кеш сбрасывают целиком по любому изменению, и тогда hit-rate падает почти до нуля. После каждого сброса сервер заново собирает все страницы, обращаясь к базе, и в пиковые моменты это вызывает резкий всплеск нагрузки и тормоза. Получается, что кеш формально включён, а пользы от него почти нет.

Корень проблемы в том, что кеш — это компромисс между скоростью и актуальностью, и управлять им нужно тонко. Нельзя просто выкрутить настройки на максимум. Нужно понимать, какие данные меняются часто, какие редко, какие страницы персонализированы, а какие одинаковы для всех. Именно эта аналитика, а не нажатие кнопок, и составляет суть настройки кеширования. Без неё кеш либо вредит, либо не приносит ощутимого эффекта.

Тегированная инвалидация как основа

Ключ к правильному кешу — тегированная инвалидация. Каждая закешированная страница помечается тегами по данным, которые на ней выводятся: конкретный товар, раздел каталога, инфоблок. Когда данные меняются, сбрасывается только кеш с соответствующим тегом, а весь остальной кеш остаётся в силе. После правки одного товара обновляются лишь страницы с этим товаром, а тысячи других страниц по-прежнему отдаются из кеша. Так достигается главное — высокий hit-rate и свежие данные одновременно, без выбора одного в ущерб другому.

Поверх тегированного кеша работает управляемый кеш инфоблоков, который сбрасывается автоматически при изменении элементов. Это снимает классическую боль, когда контент-менеджер правит данные в админке, а на сайте они меняются только после ручной очистки кеша. С грамотной инвалидацией такой ручной работы не остаётся вовсе: изменения доходят до посетителя сами и сразу. Если вы хотите, чтобы и сама скорость сервера не тормозила сборку при промахах кеша, имеет смысл провести оптимизацию базы данных и запросов — тогда даже редкие пересборки страниц проходят быстро.

Память против файлов: зачем нужен Redis

По умолчанию Битрикс часто хранит кеш в файлах. На небольшом проекте это работает, но с ростом каталога и трафика файловое хранилище становится узким местом. Тысячи мелких файлов, блокировки при одновременном доступе, постоянные обращения к диску — всё это тормозит сайт ровно тогда, когда нагрузка максимальна. Перенос кеша в Redis или Memcached решает проблему радикально: данные лежат в оперативной памяти, доступ к которой на порядки быстрее диска, а файловая система разгружается.

Redis при этом удобен не только для кеша, но и для хранения сессий. Сессии в памяти вместо файлов разгружают диск и упрощают работу при нескольких серверах, когда данные авторизации должны быть общими. Мы настраиваем хранилище с учётом объёма памяти и политики вытеснения старых записей, чтобы кеш не переполнялся и держал высокий hit-rate. На растущем проекте закладываем запас памяти и подключаем мониторинг, чтобы вовремя заметить нехватку и расширить хранилище.

Композит и CDN: ускорение со стороны отдачи

Даже идеально настроенный кеш страниц не отменяет того, что браузер должен получить и собрать страницу. Здесь в дело вступают композитный сайт и CDN. Композит делит страницу на статическую и динамическую части: шапка, меню и основной контент отдаются мгновенно из кеша, а корзина, личные данные и другие персональные элементы подгружаются отдельным запросом. В итоге даже первый показ страницы происходит почти моментально, что заметно улучшает воспринимаемую скорость и метрики загрузки, по которым в том числе оценивает сайт поисковая система.

CDN ускоряет проект со стороны статики. Картинки, скрипты и стили раздаются не с вашего сервера, а с ближайшего к посетителю узла сети доставки контента. Для аудитории из разных регионов это даёт ощутимый прирост, а основной сервер перестаёт тратить ресурсы на отдачу медиа и спокойно занимается динамикой. Важно правильно настроить инвалидацию CDN: при обновлении файлов менять их версию, чтобы пользователи получали свежую статику, а не старую из кеша сети. Эту связку мы выстраиваем так, чтобы обновления доходили корректно и не было рассинхрона.

Когда нужен полный комплекс, а когда хватит точечной настройки

Мы не уговариваем всех подряд внедрять сразу все слои кеша. Если проект небольшой и нагрузка умеренная, иногда достаточно настроить автокеш компонентов и тегированную инвалидацию — этого хватает для быстрой и стабильной работы. Полный комплекс с Redis, композитом и CDN оправдан там, где большой каталог, серьёзный трафик, географически распределённая аудитория или планы на рост. На бесплатном аудите кеширования мы профилируем проект, замеряем текущий hit-rate и прямо говорим, что даст наибольший эффект именно у вас, а не пытаемся продать максимальный объём работ. Если в ходе аудита выясняется, что узкое место не в кеше, а в железе или настройках сервера, мы честно об этом скажем и предложим заняться ускорением и производительностью комплексно.

Как мы ведём работу по шагам

Чтобы результат был предсказуемым, мы разбиваем настройку на понятные этапы. Первый — аудит и профилирование: смотрим текущий hit-rate, находим страницы и компоненты без кеша, тяжёлые запросы к базе и узкие места. Второй — настройка слоёв: включаем автокеш там, где безопасно, настраиваем тегированный и управляемый кеш, переносим хранилище в Redis или Memcached. Третий — инвалидация и композит: выстраиваем точечный сброс по тегам, включаем композитный сайт и подключаем CDN. Четвёртый — прогрев и проверка: прогреваем ключевые страницы, замеряем hit-rate и скорость под нагрузкой, проверяем, что данные остаются актуальными.

Финальный этап — документация и передача. Мы описываем схему кеша, правила инвалидации и инструкции по сбросу, чтобы ваша команда понимала, как всё устроено, и не боялась трогать настройки. По желанию подключаем мониторинг hit-rate, который сигнализирует, если кеш начинает промахиваться или хранилище переполняется. Все настройки остаются в вашем проекте, без привязки к нам как подрядчику: развивать и поддерживать кеш сможет как наша команда, так и любая другая.

Как мы измеряем результат

Кеширование — та область, где эффект легко выразить в цифрах, и мы этим пользуемся. До начала работ замеряем hit-rate, время отдачи страниц и нагрузку на базу, в том числе под нагрузочным тестом. После настройки повторяем замеры и показываем разницу: насколько вырос hit-rate, во сколько раз ускорилась отдача закешированных страниц, насколько снизилась нагрузка на базу в пик. Это не абстрактные обещания, а конкретный отчёт с метриками, по которому видно, что именно изменилось и за счёт какого слоя кеша.

Особое внимание уделяем проверке актуальности данных после настройки. Прогоняем сценарии правки товаров, цен и остатков и убеждаемся, что изменения доходят до сайта сразу, а не по таймауту. Тестируем персонализированные страницы — корзину, личный кабинет — чтобы каждый пользователь видел свои данные, а не закешированные чужие. Только когда и скорость выросла, и данные остаются свежими, настройку можно считать завершённой.

Частые возражения, которые мы слышим

«У нас уже включён кеш, зачем что-то ещё настраивать». Включённый кеш и грамотно настроенный кеш — это разные вещи. Часто при включённом кеше hit-rate остаётся низким, потому что часть компонентов работает без него, а сброс идёт полный. Аудит обычно вскрывает, что реальная доля попаданий в кеш далека от возможной, и её есть куда поднимать.

«Боимся, что кеш начнёт показывать старые данные». Это законное опасение, и именно поэтому мы делаем упор на инвалидацию. При правильной тегированной настройке кеш сбрасывается ровно по изменённым данным, и устаревшей информации у клиента не будет. Мы отдельно тестируем этот сценарий перед сдачей работы.

«Настройка кеша — это надолго и дорого». На деле базовая настройка занимает пару дней и стоит ощутимо меньше, чем потери от медленного сайта и перегруженного сервера. Умный расчёт на этой странице помогает прикинуть, сколько выручки возвращает ускорение отдачи страниц в вашем случае, ещё до начала работ.

Кеш под разные типы проектов

Кеширование настраивается по-разному в зависимости от того, как устроен проект. Для интернет-магазина с большим каталогом ключевую роль играют тегированная инвалидация и хранилище в памяти: цены и остатки меняются часто, и кеш страниц каталога должен сбрасываться точечно, а не целиком. Для контентного портала с высоким трафиком на первый план выходит композитный сайт — он позволяет отдавать главную и разделы почти мгновенно даже при пиковом наплыве посетителей. Для B2B-портала с авторизацией и личными кабинетами важно аккуратно разделить общую и персональную части страниц, чтобы быстрая отдача сочеталась с тем, что каждый контрагент видит только свои данные.

Для проектов с географически распределённой аудиторией добавляется CDN, который снимает разницу в скорости между регионами. А для нагруженных систем с пиковыми всплесками критичен прогрев кеша после деплоя и сброса, чтобы первый посетитель не ждал сборки страницы, а сервер не получал лавину пересборок под нагрузкой. Мы подбираем набор слоёв и приёмов под конкретный тип проекта и его сценарии, а не настраиваем всё по единому шаблону. Именно поэтому аудит и профилирование стоят в начале работы: без понимания, как живёт ваш проект, правильно настроить кеш невозможно.

С чего начать

Начните с аудита кеширования. Мы профилируем ваш проект, замерим текущий hit-rate и скорость отдачи, найдём страницы и компоненты без кеша и узкие места под нагрузкой. По итогам вы получите честную картину: какие слои кеша настроить в первую очередь, какой эффект это даст и за какой срок окупится. Аудит бесплатный, а дальше вы сами решаете, делать настройку комплексно или точечно. Обсудим ваш проект — и превратим кеш из источника проблем в главный рычаг скорости вашего сайта на Битрикс.

Вопросы и ответы

Частые вопросы о кешировании на Битрикс

Что такое кеширование простыми словами? +

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

Что такое hit-rate и почему он важен? +

Hit-rate — это доля запросов, которые обслужены из кеша, а не пересобраны заново. Если hit-rate высокий, большинство страниц отдаётся быстро и без нагрузки на сервер. Низкий hit-rate означает, что кеш часто промахивается и проект работает почти как без кеша. Наша задача при настройке — поднять hit-rate как можно выше, не жертвуя актуальностью данных.

Что такое инвалидация кеша? +

Инвалидация — это сброс устаревших данных из кеша, когда исходные данные изменились. Например, поменяли цену товара — кеш страниц с этим товаром нужно сбросить, иначе клиент увидит старую цену. Правильная инвалидация сбрасывает кеш точечно, ровно по изменённым данным, а не целиком. Это и есть главная сложность грамотной настройки кеша.

Какие виды кеша есть на Битрикс? +

Основные слои — автокеш компонентов, тегированный кеш, управляемый кеш инфоблоков, композитный сайт, кеш меню и навигации, а также хранилище кеша и сессий в Redis или Memcached. Поверх этого работает CDN для статики. Каждый слой закрывает свой участок, и максимальный эффект даёт их совместная грамотная настройка, а не один включённый механизм.

Чем кеширование отличается от ускорения сервера? +

Ускорение сервера — это про железо, версию PHP, настройки веб-сервера и базы. Кеширование — про то, чтобы не выполнять лишнюю работу вообще: готовый результат отдаётся из памяти, минуя сборку страницы и обращения к базе. Это разные рычаги, и работают они лучше вместе, но именно кеш чаще всего даёт самый заметный прирост скорости при наименьших затратах.

Что такое автокеш компонентов? +

Автокеш — это режим, в котором компонент сам кеширует свой результат и отдаёт его из кеша, пока данные не изменились. На многих проектах часть компонентов работает без кеша и дёргает базу на каждый запрос. Мы включаем автокеш там, где это безопасно, и проверяем, что кеш корректно сбрасывается при изменении данных, чтобы посетитель не видел устаревшую информацию.

Как работает тегированный кеш? +

Тегированный кеш помечает закешированные страницы тегами по данным, которые на них выводятся: товар, раздел, инфоблок. Когда данные меняются, сбрасывается только кеш с соответствующим тегом, а остальное остаётся в силе. Это позволяет держать высокий hit-rate и одновременно сразу показывать свежие данные — без полного сброса всего кеша по любому изменению.

Что такое управляемый кеш инфоблоков? +

Управляемый кеш автоматически сбрасывается при изменении элементов инфоблока. Включаете режим — и при правке товара или новости кеш связанных страниц чистится сам, без ручной очистки. Это снимает классическую проблему, когда данные обновили в админке, а на сайте они меняются только после ручного сброса кеша или по таймауту.

Почему нельзя просто сбрасывать весь кеш по кнопке? +

Полный сброс кеша обнуляет hit-rate: после очистки сервер собирает все страницы заново, причём часто под текущей нагрузкой, что вызывает резкий всплеск и тормоза. На крупном проекте это опасно. Поэтому мы настраиваем точечную инвалидацию по тегам и прогрев ключевых страниц, чтобы сброс был аккуратным и не ронял скорость для посетителей.

Что такое прогрев кеша? +

Прогрев — это предварительная сборка кеша ключевых страниц, чтобы первый посетитель уже получил их из кеша, а не ждал сборки. Прогрев особенно важен после деплоя или сброса кеша на нагруженном проекте: он сглаживает всплеск нагрузки и держит скорость стабильной. Мы настраиваем прогрев главной, разделов каталога и других важных страниц.

Что такое композитный сайт на Битрикс? +

Композитный сайт делит страницу на статическую и динамическую части. Статика — шапка, меню, основной контент — отдаётся мгновенно из кеша, а динамика, например корзина или личные данные, подгружается отдельным запросом и встраивается в страницу. В итоге даже первый показ страницы происходит почти моментально, что заметно улучшает воспринимаемую скорость и метрики загрузки.

Композит подходит любому сайту? +

Композит лучше всего работает на страницах с большим объёмом одинакового для всех контента — главная, разделы, посадочные. На сильно персонализированных страницах его настраивают аккуратнее, выделяя динамические зоны. Мы проверяем, какие страницы выиграют от композита, и включаем его так, чтобы динамика не ломалась и пользователь видел свои актуальные данные.

Что такое CDN и зачем он нужен? +

CDN — это сеть серверов доставки контента по всему миру. Картинки, скрипты и стили раздаются не с вашего основного сервера, а с ближайшего к посетителю узла. Это ускоряет загрузку для клиентов из разных регионов и разгружает основной сервер, который перестаёт тратить ресурсы на отдачу статики. Для геораспределённой аудитории CDN даёт ощутимый прирост скорости.

Как CDN сочетается с кешем Битрикс? +

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

Композит и CDN можно внедрять отдельно от остального кеша? +

Да, но эффект будет неполным. Композит ускоряет показ страницы, CDN — отдачу статики, но без настроенного автокеша и тегированной инвалидации сервер всё равно будет лишний раз обращаться к базе. Поэтому мы рекомендуем настраивать слои в комплексе, а отдельные направления подходят, когда базовый кеш уже в порядке и нужен точечный прирост.

Зачем переносить кеш в Redis или Memcached? +

По умолчанию Битрикс часто хранит кеш в файлах. Под нагрузкой это становится узким местом: множество мелких файлов, блокировки и обращения к диску тормозят сайт. Redis и Memcached хранят кеш в оперативной памяти, доступ к которой намного быстрее. Перенос разгружает файловую систему и ускоряет работу с кешем, особенно на проектах с большим трафиком и объёмом данных.

Чем Redis отличается от Memcached? +

Оба хранят данные в памяти и подходят для кеша Битрикс. Memcached проще и хорош как чистый кеш. Redis богаче по возможностям: поддерживает больше типов данных, умеет сохранять данные на диск и лучше подходит для хранения сессий и более сложных сценариев. На большинстве проектов мы рекомендуем Redis как более универсальное и надёжное решение для кеша и сессий.

Можно ли хранить сессии в Redis? +

Да, и это часто полезно. Хранение сессий в Redis вместо файлов разгружает диск и ускоряет работу с пользовательскими данными, а также упрощает работу при нескольких серверах, когда сессии должны быть общими. Мы настраиваем хранение и кеша, и сессий в Redis, проверяя, что авторизация, корзина и личные данные пользователей работают корректно.

Redis не потеряет данные кеша при перезапуске? +

Кеш по своей природе восстановим: даже если хранилище очистится, страницы соберутся заново и кеш наполнится. Redis при этом умеет сохранять данные на диск, что снижает риск холодного старта. Мы настраиваем хранилище с учётом объёма памяти и политики вытеснения, чтобы кеш работал стабильно, а при необходимости добавляем прогрев после перезапуска.

Сколько памяти нужно под Redis для кеша? +

Зависит от объёма кешируемых данных и числа страниц. Мы оцениваем нужный размер на аудите, настраиваем лимит памяти и политику вытеснения старых записей, чтобы хранилище не переполнялось и при этом держало высокий hit-rate. На растущем проекте закладываем запас и настраиваем мониторинг, чтобы вовремя заметить нехватку памяти и расширить хранилище.

Не будет ли кеш показывать устаревшие данные? +

При неправильной настройке — будет, и это самая частая жалоба на кеш. Поэтому мы делаем основной упор на инвалидацию: тегированный и управляемый кеш сбрасываются ровно по изменённым данным. После правки товара, цены или раздела соответствующие страницы обновляются сразу. Высокий hit-rate и свежие данные — не противоречие, если кеш настроен грамотно.

Как кешировать страницы с ценами и остатками? +

Цены и остатки меняются часто, поэтому страницы каталога мы кешируем с тегированной инвалидацией: при изменении цены или остатка сбрасывается только кеш затронутых страниц. Если данные обновляются очень часто, динамические части можно вынести из кеша или подгружать отдельно через композит, оставив в кеше статику. Подход подбираем под частоту изменений вашего каталога.

Что делать с персонализированными страницами? +

Личный кабинет, корзина и страницы с данными конкретного пользователя кешировать целиком нельзя. Мы выделяем персональные зоны и выводим их из кеша или подгружаем отдельно через композит, а общую часть страницы кешируем. Так быстрая отдача сохраняется, но каждый пользователь видит свои данные, а не чужие. Это стандартный приём для B2B-порталов и магазинов с авторизацией.

Кеш не сломает работу акций и таймеров? +

Акции, таймеры обратного отсчёта и счётчики наличия — динамические элементы, которые при грубом кешировании застывают. Мы выносим такие участки в динамические зоны композита или обновляем их отдельным запросом, чтобы таймер шёл, а акция отображалась актуально. Остальная страница при этом остаётся в кеше и отдаётся быстро.

Сколько стоит настройка кеширования? +

Базовая настройка автокеша и тегированного кеша обычно начинается от 25 000 рублей, комплекс с Redis и композитом — от 60 000, полная связка с CDN — от 110 000. Стоимость зависит от размера проекта, числа шаблонов и текущего состояния кеша. Точную смету присылаем после короткого аудита, который проводим бесплатно.

Сколько времени занимает настройка? +

Базовую настройку кеша делаем за пару дней, комплекс с хранилищем и композитом — за неделю, полную связку с CDN — за полторы. Сначала идёт аудит и профилирование, затем настройка слоёв, инвалидации и прогрева, в конце — нагрузочная проверка и передача. Точный срок фиксируем в смете до старта работ.

Как вы измеряете результат настройки? +

Замеряем hit-rate, время отдачи страниц и нагрузку на базу до и после настройки, в том числе под нагрузкой. Показываем конкретные цифры: насколько вырос hit-rate, во сколько раз ускорилась отдача, насколько разгрузилась база. Результат виден в метриках, а не на словах, и вы получаете отчёт с замерами и схемой настроенного кеша.

Что мы получаем по итогу работы? +

Настроенные слои кеша, высокий hit-rate, быструю отдачу страниц и разгруженную базу, а также документацию: схему кеша, правила инвалидации и инструкции по сбросу для вашей команды. При желании подключаем мониторинг hit-rate и сопровождение. Все настройки остаются в вашем проекте, без привязки к нам как подрядчику.

Начать проект

Обсудим настройку кеша на вашем проекте?

Расскажите о вашем сайте на Битрикс и нагрузке — проведём аудит кеширования, замерим hit-rate и предложим, какие слои кеша настроить в первую очередь.

  • Ответим в течение рабочего дня
  • Бесплатный аудит процессов и расчёт
  • NDA и фиксированная смета