Торговля

Ускорение работы интернет-магазина на БУС

Дата проекта 12.08.2026

Задачи

→ Найти узкие места в текущей инфраструктуре и локализовать причины деградации производительности.

→ Устранить задержки на уровне СУБД MySQL.

→ Модернизировать стек веб-сервера и бэкенда для стабильной работы под нагрузкой.

→ Перенести проект на обновленную конфигурацию без остановки работы сайта.

Проблема и вызов

Проект клиента регулярно сталкивался со сбоями в часы пиковой посещаемости.

При резком наплыве пользователей серверные ресурсы исчерпывались, страницы переставали открываться, а база данных переставала справляться с потоком входящих запросов и уходила в таймаут.

Причина крылась в устаревшем технологическом стеке: связка Nginx с бэкендом на Apache создавала избыточный оверхед по памяти и процессору на каждый клиентский процесс, а СУБД MySQL работала со стандартными параметрами без учета специфики тяжелых запросов.

Бизнесу требовалось оперативно стабилизировать сервис и устранить узкие места до того, как очередная волна трафика приведет к простою.

Что было сделано

1. Аудит инфраструктуры и профилирование

Наши инженеры провели глубокий аудит серверной конфигурации и выявили слабые звенья:

  • Проанализировали журнал медленных запросов MySQL (slow query log), определили неоптимальные индексы и параметры буферов памяти.
  • Зафиксировали узкие места связки Nginx + Apache: создание тяжелых процессов Apache под нагрузкой быстро приводило к утилизации всей доступной оперативной памяти.

2. Смена архитектуры бэкенда: переход на Docker и PHP-FPM

Вместо классического Apache архитектуру мы перевели на современный, легковесный стек:

  • Все компоненты приложения упаковали в Docker-контейнеры, изолировав окружение и упростив дальнейшее масштабирование.
  • Заменили модуль Apache на связку Nginx + PHP-FPM. Nginx взял на себя быструю отдачу статики и буферизацию соединений, а пул воркеров PHP-FPM обеспечил эффективную обработку динамических скриптов с минимальным потреблением оперативной памяти.

3. Тюнинг СУБД и бесшовный перенос

  • Выполнили кастомную оптимизацию конфигурации MySQL: скорректировали размеры пула буферов (InnoDB buffer pool), лимиты соединений и параметры кэширования под реальные профили нагрузки проекта.
  • Развернули новую инфраструктуру параллельно с работающей, синхронизировали базы данных и переключили трафик. На всем протяжении работ доступность сервиса оставалась непрерывной (SLA выше 98%).

Результаты

→ Ликвидированы падения при всплесках трафика. Переход на Docker и PHP-FPM снизил накладные расходы сервера: проект стабильно держит пиковые нагрузки без зависаний и очередей запросов.

→ Ускорены ответы базы данных. Тюнинг параметров MySQL и устранение задержек ввода-вывода позволили сократить время выполнения тяжелых запросов.

→ Гибкость и готовность к росту. Контейнеризированная архитектура исключила проблемы с зависимостями и подготовила проект к быстрому развертыванию новых версий и горизонтальному масштабированию.

Услуги и решения в проекте