Каталог интернет-магазина растет — вместе с ним растет и цена ошибок в архитектуре

Пять точек нагрузки, которые растут быстрее каталога
Каждая новая позиция в каталоге тянет за собой набор свойств для фильтра, изображения, торговые предложения по вариантам и данные для синхронизации остатков. Рост нагрузки опережает рост числа товаров.
Фильтрация и поиск
При 40-50 характеристиках и типовом фильтре каждый клик заставляет базу данных заново перебирать весь массив товаров. На тысячах позиций запрос начинает идти секундами. Фасетные индексы решают это заранее: все комбинации значений просчитываются в фоновом режиме, и сервер лишь читает готовый результат вместо полного сканирования.

Медиафайлы
Каталог на тысячи товаров хранит сотни гигабайт изображений. Формат WebP экономит четверть-треть веса при сравнимом качестве, LazyLoad исключает загрузку того, что пользователь еще не докрутил. Отдельный нюанс: 1С-Битрикс не решает эту задачу штатными средствами — сжатие и кеширование изображений на устройстве закрывается внешними сервисами.
Синхронизация с учетной системой
Полный обмен с 1С по CommerceML способен заблокировать витрину на минуты: генерация большого XML-файла, его разбор, обновление тысяч записей. Разумная стратегия — развести обмен по приоритетам: остатки и цены меняются часто, но затрагивают немного данных, карточки товаров можно синхронизировать раз в несколько часов. В одном из внедрений полную синхронизацию карточек настроили на раз в 4 часа, статусы заказов — каждые 2 минуты: сайт больше не блокировался, при этом данные оставались актуальными. 
База данных
С ростом таблицы товаров индексы перестают помещаться в оперативную память и начинают читаться с диска — процесс незаметный на старте, но постепенно съедающий скорость всех запросов. Признак: запрос, который раньше выполнялся за 50 миллисекунд, растягивается до 500. В одном случае переработка обмена с 1С, рефакторинг фильтров и обновление версии PHP с подключением Memcached дали двукратный прирост скорости без смены хостинга.
Административная часть
На больших каталогах тормозит и внутренний интерфейс: списки товаров со всеми свойствами, массовые операции, отчеты. Это напрямую бьет по качеству данных — проще пропустить заполнение поля, чем ждать перезагрузки страницы.
Три зоны ответственности
Платформа закрывает базовый уровень: кеширование страниц и запросов, минификацию CSS и JS, постраничную навигацию с корректными индексами, фасетные индексы для фильтра, которые считаются в фоне. Отдельный раздел статистики показывает, какой конкретно компонент страницы отъедает время ответа.
Внешние сервисы решают остальное: CDN — доставку статики из точки, близкой к пользователю (для российских магазинов — Selectel, VK Cloud, Yandex Cloud, ориентир TTFB — менее 200 миллисекунд), Elasticsearch или OpenSearch — полнотекстовый поиск с синонимами и ранжированием на десятках тысяч позиций, отдельные сервисы или модули сервера — сжатие изображений, системы мониторинга — раннее обнаружение деградации.
Третья зона — решения самого владельца, и здесь легче всего навредить себе. Отключить кеш ради мгновенного обновления данных — и получить рост времени ответа в разы, потому что каждый запрос теперь идет прямо в базу. Подключить подряд модуль отзывов, сравнения, вишлист, несколько систем аналитики и пару попапов — и получить плюс 2-3 секунды к загрузке от суммы отдельных решений. Оставить пользовательский контент без модерации — и получить спам со внешними ссылками и тяжелые изображения, которые не любят ни сервер, ни поисковики.
Навигация как отдельная переменная роста
Техническая скорость — необходимое, но не достаточное условие конверсии. Магазин сантехники на 8 000 SKU может быть быстрым технически и терять покупателей на фильтре: если путь к нужному товару растянут на последовательный выбор материала, формы, размера, цвета и производителя, часть аудитории уходит, так и не сузив выдачу из сотен позиций. 
Теги быстрого поиска под фильтром закрывают самые частые запросы одним кликом, не заменяя фильтр, а сокращая путь к нему. Управление торговыми предложениями превращает 30 SKU одного товара в 6 цветах и 5 размерах в одну читаемую карточку с переключателем вариантов вместо 30 карточек, засоряющих выдачу. Поиск с обработкой опечаток и транслитерации закрывает случаи, когда запрос набран с ошибкой или на неправильной раскладке.
Кейс: магазин сантехники «Новая Ванна»
Стартовая точка — большой каталог и около 250 визитов в день из Яндекса при перегруженной навигации: шапка занимала слишком много места на экране, фильтр отзывался с задержкой. 
Работа шла по нескольким направлениям одновременно: компактный хедер с контактами в выпадающем списке, визуальные карточки категорий под баннером вместо текстового списка, умный фильтр с фасетными индексами и тегами быстрого поиска для частых запросов, SEO-описания с внутренними ссылками на страницы по производителям и регионам под списком товаров, обновленная карточка товара с расчетом доставки на странице и кнопкой покупки в один клик.
Результат за три месяца: органический трафик из Яндекса — с 250 до 380 визитов в день, суммарный трафик из Яндекса и Google — 30 000 посетителей в месяц, рост времени на сайте, конверсии и выручки. Прирост ссылочной массы в этот результат вклада не вносил — работали техническая и навигационная составляющие.
Диагностика за один подход
TTFB больше 500 миллисекунд указывает на серверную часть: кеш, базу данных, скрипты. Отклик фильтра дольше 300 миллисекунд в DevTools — повод проверить индексы. Вес страницы категории больше 5-7 мегабайт обычно означает несжатые изображения. Синхронизация с 1С в пиковые часы или слишком частая полная выгрузка нагружает базу данных именно тогда, когда на сайте максимум покупателей. Страницы без TTL кеша без явной причины и избыток сторонних скриптов в Network — оставшиеся две точки проверки.
Рост каталога не тормозит сайт сам по себе. Тормозят конкретные узлы: фильтр без индексов, обмен данными в неудачное время, несжатые изображения, отключенный кеш. Платформа отвечает за кеширование и базовую оптимизацию, внешние сервисы — за доставку и сжатие медиа, архитектура обмена и порядок в каталоге — зона ответственности владельца бизнеса. Тем, кто работает на 1С-Битрикс, будет полезно бесплатное руководство по ускорению сайта с разбором кеширования, работы с базой данных и настройки обмена с 1С.