Проект: интернет-магазин корейской косметики — каталог 18 000+ товаров, пиковый трафик во время распродаж.
Задача
Во время распродаж сайт деградировал под нагрузкой: страницы товаров тормозили, база данных работала на пределе. В момент, когда трафик и спрос максимальны, магазин терял продажи из-за медленной витрины.
Решение
Вместо того чтобы «наращивать железо», проблему нашли на уровне самой системы:
- Диагностика на уровне СУБД выявила «горячий» запрос к таблице отзывов, который сканировал порядка миллиона строк в секунду из-за отсутствующего индекса — одно узкое место тянуло вниз весь сайт.
- Добавлен составной индекс под реальный паттерн запроса: полный скан таблицы заменён точечным чтением по индексу.
- Параллельно поддерживается кастомный каталожный поиск на Elasticsearch, снимающий нагрузку с основной БД.
Результат
Узкое место устранено полностью: сайт стабильно держит пиковый промо-трафик. Показательно, что решение стоило не нового сервера, а точной диагностики и одного правильного индекса.
Что из этого можно взять себе
«Сайт тормозит — купите мощнее сервер» — самый частый и самый дорогой неверный ответ. Чаще всё упирается в одно-два узких места в системе, которые видно только при грамотной диагностике. Система, которая держит нагрузку, — это результат понимания, а не бюджета на железо.
Система не выдерживает пиковую нагрузку?
На бесплатном экспресс-аудите разберём, где у вашей системы узкие места, и честно скажу, что чинится настройкой, а что — действительно требует ресурсов.