Оптимизация скорости — zip-krd.ru

Техническая оптимизация интернет-магазина запчастей для бытовой техники.
О проекте
Интернет-магазин zip-krd.ru:
- имеет более 4700 категорий, с уровнем вложенности каталога до 5 ур.;
- более 100 поддоменов;
- более 43 000 товаров;
- 2 сервера (с разделением для реальных пользователей и ботов).
Все эти входные данные в совокупности дают нам:
- высокую нагрузку на сервер
- медленную скорость ответа сервера
- нестабильную работу сайта
Решение
Комплексная техническая оптимизация и доработка сайта.
Установка всех обновлений
Обновили платформу, приложения, плагины и перешли на новую версию PHP 8.
Техническая ревизия
Провели тех. ревизию всех установленных плагинов и приложений – отключили неиспользуемые, заменили проблемные на аналоги. Возникли проблемы совместимости некоторых кастомных плагинов с PHP 8. Внесли доработки для корректной работы сайта на PHP 8.
Обнаружили сторонние индексы в базе данных, которые замедляли работу сайта.
2 сервера с общей базой данных замедляли работу, так как запросы шли не по локальной сети, а по интернету.
Оптимизация серверной инфраструктуры
Отказались от двух серверов в пользу одного с грамотной настройкой.
Проблема с ботами
Для решения проблемы создали отдельный пулл PHP воркеров и ограничили количество запросов от ботов (настроили nginx на ограничение количества запросов).
Оптимизация темы под проект
Оптимизировали тему дизайна под большое количество категорий. Изначально она не была оптимизирована под такой объём категорий. Улучшения внесли в обновление темы Megaopt 1.0.
Оптимизация Framework под проект
По умолчанию Webasyst не кеширует информацию о категориях. Провели дополнительную оптимизацию фреймворка, добавили кеширование данных о категориях (список фильтров, диапазон цен, кол-во товаров), и добавили свой модифицированный вариант кеширования (на основе memcached), так как встроенный на больших объёмах замедлял работу сайта.
Доработки были сделаны таким образом, что они не блокируют обновление фреймворка.
Оптимизация базы данных
Избавились от сторонних индексов.
Добавили индексы таблиц, ускоряющие получение поддерева каталога заданной вложенности и индексы, ускоряющие получение корзины пользователя.
Результат
✅ Стабильная работа сайта.
✅ Скорость ответа от сервера улучшилась в 2-2,5 раза — до 1s:

✅ Боты больше не тормозят сайт — их трафик ограничен и изолирован.
✅ Снижен риск уязвимостей — актуальные версии PHP и плагинов.
О том как мы обновили визуал проекта можно почитать в кейсе о создании сайта Подробнее о создании сайта