Интернет-магазин электроники
504 после запуска рекламы
Крупный интернет-магазин запустил рекламную кампанию на 500 000 руб. Через 20 минут сайт начал отдавать 504. Потери — 200 000 руб/час. Причина оказалась не в атаке.
Задача
Интернет-магазин запустил рекламу в Яндекс.Директ (бюджет 500K ₽). Через 2 часа — nginx отдаёт 504 Gateway Timeout.
Первая гипотеза — DDoS. Но анализ показал:
- Трафик вырос в 15 раз — это реальные пользователи, не ботнет
- RPS подскочил с 20 до 300 — baseline превышен многократно
- Origin Server не справлялся без CDN
- Latency MySQL: 5+ секунд на запрос каталога
- Отсутствие кэширования — каждый запрос шёл в базу
Каждый час простоя = 50 000 ₽ сожжённого бюджета без продаж. Отсутствие Auto-scaling и Cache стоило дорого.
Решение
День 1: Экстренная стабилизация
Первым делом — чек-лист при 502/504. Паника — плохой советчик:
- Cloudflare — CDN + Cache для статики
- Page Rules: кэширование каталога на Edge Server
- Вертикальное масштабирование: 4 → 16 ядер (временно)
Оптимизация (неделя 1)
- Redis для кэша повторяющихся SQL-запросов
- nginx FastCGI Cache — micro-caching 1 сек. Примеры конфигов →
- OPcache для PHP — снижение Latency
- MySQL индексы по результатам EXPLAIN
Архитектура (неделя 2)
Перестроили по принципам отказоустойчивой архитектуры:
- CDN для изображений через Cloudflare Images
- Load Balancer + read-реплика MySQL
- Auto-scaling PHP-FPM workers
- Graceful Degradation: упрощённый каталог при перегрузке
- Prometheus + Grafana для мониторинга RPS. Как настроить алерты →
Планируете рекламную кампанию? Подготовим инфраструктуру заранее — чтобы трафик конвертировался в продажи, а не в ошибки.
Результаты
- Сайт выдержал 5000+ RPS при повторном запуске рекламы
- Latency снизилась с 2.5s до 180ms благодаря CDN
- Cache hit ratio: 85% — Origin Server разгружен
- Auto-scaling справляется с пиками без вмешательства
- Redis снизил нагрузку на MySQL на 70%
- ROI рекламы: 340% — быстрый сайт конвертирует лучше
" Мы думали, проблема в хостинге или в атаке. Оказалось — в архитектуре. Теперь понимаем, что нужно готовить инфраструктуру ДО запуска рекламы, а не во время.
Хотите такой же результат?
Расскажите о своём проекте — обсудим, как можем помочь