Интернет-магазин на 1С-Битрикс падает при нагрузке

Типичная ситуация. Домен, название компании и скриншоты кабинета здесь не публикуются.

Жалоба звучит одинаково: утром сайт живой, днём, когда приходит реклама, страницы каталога отвечают десятки секунд или отдают ошибку шлюза. Имя магазина и адрес здесь не нужны — набор причин у каталога на 1С-Битрикс повторяется.

Иллюстрация: страница каталога отвечает 502 Bad Gateway
Иллюстрация симптома на вымышленном адресе. Это не снимок сайта клиента.

Что обычно видно до правок

  • Главная ещё открывается, карточка товара и раздел каталога — нет.
  • В пике растёт число процессов PHP и медленных запросов к MySQL.
  • Композитный кеш выключен или сбрасывается на каждом хите.
  • Агенты Битрикса висят на посещении страницы, а не на cron.

Скорость

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

Имеет смысл смотреть не общий балл PageSpeed, а время ответа именно раздела и карточки в час пик. Бесплатная проверка меряет ответ главной и размер HTML — это вход, не замена разбора каталога.

Архитектура и типичные ошибки CMS

Агенты на хите откладывают почту, поиск и служебные задачи в тот же запрос, которым человек открывает товар. Нагрузка тогда зависит не от числа заказов, а от числа просмотров. Перенос агентов на cron снимает эту связку.

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

Безопасность

Падение само по себе не значит взлом. Но на перегруженном сайте чаще откладывают обновления ядра и модулей. В разборе отдельно смотрят, закрыт ли /bitrix/ от лишнего, есть ли свежий бэкап до любых правок кеша и не торчит ли отладочный вывод в публичной части.

SEO-техника

Когда страница отвечает через раз, поисковый робот получает 5xx и выпадает из обхода. Фильтр, который плодит адреса с теми же товарами, добавляет дубли ещё до того, как скорость починена. Канонический адрес раздела и закрытие технических параметров фильтра проверяют вместе с кешем, иначе ускорение размножит мусорные URL.

Что делать

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

Смежная услуга — ускорение сайта и поддержка 1С-Битрикс.

Срок и стоимость

Сумму до просмотра каталога не называем: объём зависит от того, хватает ли настройки кеша или нужны запросы и шаблон. Разовая задача на сайте начинается от 3 000 ₽. Точную оценку программист даёт после адреса страницы, которая падает, и доступа к хостингу.

Похожая ситуация?

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

Другие разборы