Перейти к основному содержанию
Тест-сервис
Обсудить проект
Все материалы
Сайты каталог Битрикс интернет-магазин SKU

Как подготовить Битрикс к росту каталога

Каталог проектируют не под первые сто товаров, а под будущие объёмы, фильтры, остатки и обмены. Чек-лист архитектуры до массовой загрузки.

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

Прогнозируйте объём Зафиксируйте число товаров, предложений, свойств, значений, цен, складов, изображений и ежедневных изменений на горизонте 12–24 месяцев.

1. Разделите товар и торговое предложение

Товар хранит общую сущность, SKU — продаваемый вариант. Цвет и размер не должны без причины превращаться в дубли карточек, но и одно предложение со всеми комбинациями не решает задачу. Модель влияет на URL, остатки, цены, фильтр и обмен.

2. Проведите ревизию свойств

Удалите дубли, унифицируйте типы и единицы измерения, определите обязательность. Свойства для фильтра должны иметь контролируемые значения. Текстовые варианты «10 см», «10см» и «0,1 м» создают мусор и раздувают индекс.

3. Спроектируйте разделы и URL

Разделы нужны не для хранения каждого маркетингового среза. Отдельные посадочные создавайте под устойчивый спрос, а комбинации фильтра канонизируйте и индексируйте осознанно. Массовая генерация URL из каждого значения создаёт дубли.

4. Ограничьте данные в компонентах

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

5. Подготовьте импорт

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

6. Обработайте изображения заранее

Генерация десятков размеров на первом запросе создаёт всплеск нагрузки. Определите набор производных, формат, лимиты исходника и фоновую подготовку. Храните оригинал отдельно от публичных вариантов.

7. Измерьте фильтр, кеш и базу

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

8. Проведите нагрузочное испытание

Создайте обезличенную копию с объёмом, близким к прогнозу. Проверьте каталог, фильтр, поиск, карточку, корзину и импорт одновременно. Фиксируйте p95 времени ответа, ошибки, CPU, память, дисковые операции и базу.

Критерии готовности

  • модель товара и SKU описана;
  • справочники свойств нормализованы;
  • URL и индексация фильтров управляются;
  • импорт возобновляется после ошибки;
  • изображения не создаются массово на пользовательском запросе;
  • известен запас по инфраструктуре и время ключевых операций.

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