Скорость
Каталог Битрикс медленно открывается: что измерить
Каталог Битрикс долго открывается, хотя главная работает быстро. Разберём, что сравнить в категориях, фильтрах и карточках, чтобы найти источник задержки.
Что происходит и с чего начать
Каталог выполняет больше работы, чем обычная страница: выбирает товары, рассчитывает цены и наличие, строит фильтры и сортировку. Поэтому его замедление не обязательно означает нехватку мощности всего сервера. Начните с нескольких адресов, отличающихся одним условием: пустой фильтр, выбранное свойство, другая сортировка. Запишите время и количество товаров. Такая небольшая карта задержек помогает понять, какой расчёт нужно исследовать, и не начинать с общей переделки магазина без подтверждённой причины.
Что можно проверить самостоятельно
- Запишите адрес медленного раздела вместе с параметрами фильтра и сортировки. Проверьте, воспроизводится ли задержка при переходе по этой же ссылке в приватном окне.
- Сравните каталог без фильтра, с одним свойством и после изменения порядка товаров. Не меняйте настройки всех компонентов одновременно: сохраните исходные значения для сравнения.
- Уточните, совпадают ли задержки с обменом, переиндексацией или очисткой кеша. Сообщите, различается ли скорость для гостя и сотрудника, вошедшего на сайт.
Как понять результаты проверки
Если медленно только одно условие фильтра, исследуют соответствующие запросы и данные. Если все варианты ждут ещё до появления содержимого, проверяют общую подготовку каталога и загрузку сервера. Важно также измерить число обращений к базе: отдельная быстрая проверка цены, повторённая для каждого товара, может давать большую суммарную задержку. Ускорение должно учитывать реальный ассортимент. Результат на тестовом разделе из трёх товаров не объясняет работу каталога с вашим обычным объёмом и набором свойств.
Что проверяет разработчик
Для этой части понадобятся доступ к настройкам, журналам ошибок или коду. Её можно передать специалисту вместе с результатами предыдущих шагов.
- Измерьте одну категорию при первом и повторном открытии. Уточните, меняется ли результат для гостя и разных групп пользователей.
- Проверьте запросы компонента, обработчики событий и вычисление цен. Обратите внимание на повторяющиеся обращения к базе внутри вывода товаров.
- Сравните страницу без фильтра и с конкретным набором свойств. Тяжёлые сочетания фильтра могут тормозить при нормальной скорости остальных страниц.
На что обратить внимание
Кеш может постоянно сбрасываться обменом или зависеть от слишком большого числа параметров. Другой источник задержки — пользовательская доработка шаблона, которая заново загружает данные для каждого товара.
Как исправляют причину
Устраните повторные выборки и настройте границы кеширования по реальным зависимостям. Индексы добавляйте после изучения запроса и плана, а не по общему совету ускорить базу.
Как убедиться, что проблема решена
Сравните одинаковые категории и фильтры до и после. Проверьте обновление цены и наличия после обмена, чтобы ускорение не оставило на витрине устаревшие данные.
После исправления повторите тот же фильтр, сортировку и гостевой просмотр. Проверьте актуальность цен и наличия после следующего обмена: быстрая устаревшая витрина не является хорошим результатом. Попросите замеры до и после с указанием условий. Если первый запрос остаётся медленнее повторного, важно понимать причину и допустимый срок подготовки страницы, а не скрывать это различие средним числом.