Провели оптимизацию верхнего меню каталога. Исправили функцию вывода динамических данных в меню, убрали вывод лишних данных. Исправили кэширование меню.
Оптимизировали вывод блоков на Главной - Новинки, Акции, Хиты продаж:
Сделали правильную фильтрацию по свойству, по которому товары добавляются в блоки, написали свой компонент, который выводит не все свойства товаров в массиве данных (в коде страницы), а только нужные. За счет этого сократили количество загружаемого кода.
Здесь также подключили свой компонент, который выводит не все свойства товаров в массиве данных (в коде страницы), а только нужные. Уменьшили кол-во товаров выводимых по умолчанию на странице раздела (было 60 по умолчанию):
Полностью переписали фильтр по внешнему виду:
До начала работ выводился стандартный фильтр с картинками, но он давал около 6000 запросов к базе данных, мы сделали подгрузку всех нужных свойств напрямую из базы данных и вывели на страницу том же виде, тем самым сократили кол-во запросов к базе.
До начала работ в меню (в коде страницы) выводились сразу все разделы сайта, ненужные просто скрывались (в код выводилось 400, а отображалось 40), сейчас в коде выводятся только нужные. Также переделали подключение скриптов и стилей в шаблоне - код подключения был нестандартный, и Битрикс неправильно их объединял, подключили стандартный, сократили время загрузки стилей и скриптов. Настроили правильное кэширование во всех компонентах. Была проведена работа по настройке сервера: установлен прекомпилятор, скорректирован конфиг сервера БД для устранения ошибок по монитору производительности сервера БД:
обновлен MariaDB (установили версию 10.5.1-MariaDB MariaDB Server).
Сравнение скорости загрузки по монитору Битрикс.
Главная - до начала работ - загрузка больше 2 сек.:
После оптимизации - загрузка меньше 0,5 сек.:
Страница раздела каталога - до начала работ - загрузка больше 5 сек.:
После оптимизации - загрузка меньше 0,5 сек.:
Страница товара - до начала работ - загрузка больше 3 сек.:
После оптимизации - загрузка меньше 0,3 сек.: