Стресс-тест сервера: найти предел до того, как его найдут посетители

Стресс-тест показывает, при какой нагрузке сервер начинает отказывать и что ломается первым. Нагрузка растёт постепенно, а тест останавливается сам при первых серьёзных ошибках.

Проверить можно только свой сайт или сайт, владелец которого дал согласие.

Что такое стресс-тест сервера?

Это проверка, при которой нагрузку на сервер повышают постепенно и без заранее заданного потолка — до тех пор, пока он не начнёт отказывать: отвечать ошибками, обрывать соединения или открывать страницы дольше разумного. Обычный нагрузочный тест проверяет, справится ли сервер с ожидаемым числом посетителей. Стресс-тест ищет предел и показывает, сколько запаса у вас есть сверх обычного пика.

Результат стресс-теста — не «сервер хороший» или «плохой», а ответы на три вопроса:

  • при скольких посетителях одновременно начинается заметное замедление;
  • при какой нагрузке появляются ошибки и какие именно;
  • что сдаётся первым: определённая страница, процессы веб-сервера, база данных или лимиты хостинга.

Зачем искать предел, если всё и так работает?

Потому что посещаемость растёт не плавно. Рассылка, реклама на телевидении, упоминание у блогера или распродажа приводят на сайт в разы больше людей за считанные минуты. Если вы знаете предел, вы знаете, какой всплеск переживёте, а к какому нужно готовиться: включить кэширование, сменить тариф хостинга, перенести статические файлы в сеть доставки контента.

Стресс-тест особенно полезен:

  • после переезда на новый сервер или тариф хостинга;
  • после крупных изменений сайта — новой темы, модулей, версии CMS;
  • перед событиями, когда ожидается кратный рост посетителей;
  • когда нужно обосновать расходы на сервер цифрами, а не ощущениями.

Как проходит стресс-тест в LoadSure?

  1. Подтвердите права на сайт — DNS-записью, файлом или мета-тегом. Нагрузку можно запустить только на сайт, права на который подтверждены: свой или сайт, владелец которого дал согласие.
  2. Выберите ситуацию «Найти предел». Нагрузка будет расти постепенно до потолка вашего тарифа: [ВСТАВИТЬ: потолок нагрузки на бесплатном тарифе / в бете].
  3. Тест остановится сам, как только сервер начнёт отказывать: доля ошибок за последние 10 секунд выше 15 %, время ответа 95 % запросов дважды подряд больше 10 секунд или полное отсутствие ответов в течение 20 секунд. Нагрузка снимается плавно, и обычно сайт восстанавливается за секунды.
  4. Получите отчёт: на скольких посетителях начались проблемы, на каких страницах и что исправить.

Виртуальные посетители ходят по страницам так же, как люди, — главная, каталог, карточки, поиск — и загружают стили, скрипты и картинки. Поэтому предел получается близким к реальному, а не к «максимальной скорости отдачи одной закэшированной страницы».

Как провести стресс-тест безопасно?

  • Только на своём сервере или с согласия владельца. Нагружать чужие системы без разрешения нельзя.
  • В часы минимального трафика. На время теста сайт может замедлиться для настоящих посетителей.
  • Плавный рост нагрузки. Резкий скачок до максимума не покажет, где именно начинаются проблемы.
  • Автоматическая остановка. Цель — найти предел, а не оставить сайт недоступным. В LoadSure остановка включена всегда.
  • Предупредите хостинг, если у него есть защита от нежелательного трафика, и коллег, которые отвечают за сайт.

Подробнее о подготовке и о том, что делать с результатом, — в статье стресс-тест сайта: как найти предел нагрузки.

Что делать с найденным пределом?

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

Важно помнить об ограничениях: тест нагружает сервер снаружи, через страницы сайта. Загрузку процессора, памяти и базы данных во время теста смотрите в панели хостинга или в системе мониторинга — вместе с отчётом это даёт полную картину.

Частые вопросы

Чем стресс-тест отличается от нагрузочного теста?

Нагрузочный тест проверяет ожидаемую нагрузку: выдержит ли сервер, например, 500 посетителей. Стресс-тест повышает нагрузку до тех пор, пока сервер не начнёт отказывать, — так находят предел и запас прочности.

Не сломает ли стресс-тест сервер?

Тест только открывает страницы и не меняет данные. Сервер может ненадолго перестать отвечать, но тест сам снимает нагрузку при первых серьёзных ошибках, и обычно сервер восстанавливается за секунды. Запускайте его в часы минимального трафика.

Можно ли провести стресс-тест чужого сервера?

Только с согласия владельца. В LoadSure нагрузку можно запустить только на сайт, права на который подтверждены, а подтверждение перепроверяется перед каждым запуском.

Как часто проводить стресс-тест?

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

Что делать с результатом стресс-теста?

Сравните найденный предел с ожидаемым пиком посещаемости. Если запас меньше полутора-двух раз, найдите в отчёте страницу, которая сдалась первой, и начните с неё.

Ещё по теме