← Все статьи
High-load · 03.11.2026 · 8 мин

Сайт падает под нагрузкой: что проверить в первую очередь

502, 504, очереди и медленный checkout. Разбираем порядок диагностики и типичные причины падения интернет-магазина.

Сайт падает под нагрузкой: что проверить в первую очередь

Падение магазина под нагрузкой всегда выглядит одинаково: 502 или 504, бесконечная загрузка, пустые категории и клиенты, которые уходят к конкурентам. В первые минуты важно не гадать, а быстро собрать факты.

Первые 60 минут: что смотреть

  • Метрики сервера: CPU, память, диск, сеть, количество соединений.
  • Логи PHP-FPM, Nginx и приложения: ошибки, таймауты, медленные запросы.
  • База данных: активные запросы, блокировки, соединения, медленный лог.
  • Очереди и cron: не запустились ли тяжёлые задачи одновременно с пиком.
  • Внешние интеграции: 1С, CRM, платежи и доставка — не тормозят ли они запросы.

7 типичных причин

  • Нет кэша. Каждая страница собирается заново, хотя каталог меняется раз в час.
  • N+1 запросы. Карточка товара делает десятки запросов вместо двух-трёх.
  • Отсутствуют индексы. Листинги и фильтры сканируют всю таблицу.
  • Синхронные интеграции. Выгрузка в 1С или проверка остатков выполняется прямо в запросе.
  • Сессии и кэш в файлах. На нескольких серверах файловый кэш не работает, а диск становится узким местом.
  • Лимиты PHP-FPM. Мало воркеров или слишком маленький timeout — запросы встают в очередь.
  • Пересечение cron и трафика. Ночная выгрузка «съехала» на день и совпала с рекламной кампанией.

Как отличить рост трафика от деградации

Если нагрузка выросла, а время ответа осталось прежним — это нормальный рост. Если время ответа растёт быстрее трафика, где-то появилось узкое место: база, диск, блокировки или внешний сервис. Смотрите не на средние значения, а на 95-й и 99-й перцентиль — именно они показывают, что чувствуют реальные покупатели.

Не увеличивайте сервер вслепую

Добавление CPU помогает не всегда. Если узкое место — блокировки базы или медленный диск, новый сервер просто будет быстрее ждать. Сначала найдите причину.

Нагрузочный тест: как не навредить

  • Снимайте тест на копии продакшена, а не на живом магазине.
  • Начинайте с малой нагрузки и увеличивайте постепенно.
  • Смоделируйте реальные сценарии: каталог, карточка, поиск, корзина, checkout.
  • Следите за ошибками, временем ответа и ресурсами, а не только за количеством запросов в секунду.

Что делать после стабилизации

Когда сайт снова отвечает, не останавливайтесь на «перезагрузили и заработало». Нужно найти корневую причину, добавить алерты, вынести тяжёлые задачи в очередь и повторить тест. Иначе следующая рекламная кампания снова приведёт к тому же результату.

Вопросы и ответы

Почему сайт падает только при запуске рекламы? +

Скорее всего, до этого нагрузка не доходила до узкого места. Реклама увеличивает трафик и обнажает проблемы кэша, базы или лимитов PHP-FPM.

Что такое 502 и 504? +

502 означает, что прокси не получил корректный ответ от приложения. 504 — что приложение не ответило вовремя. Причины могут быть в PHP-FPM, базе, внешних вызовах или сети.

Нужен ли выделенный сервер? +

Не всегда. Иногда достаточно кэша, индексов и выноса интеграций в очередь. Решение зависит от профиля нагрузки и результатов теста.

Сколько стоит нагрузочное тестирование? +

Зависит от сценариев и инфраструктуры. Начать можно с одного-двух ключевых сценариев и постепенного увеличения нагрузки.