Стресс-тест сервера: найти предел до того, как его найдут посетители
Стресс-тест показывает, при какой нагрузке сервер начинает отказывать и что ломается первым. Нагрузка растёт постепенно, а тест останавливается сам при первых серьёзных ошибках.
Проверить можно только свой сайт или сайт, владелец которого дал согласие.
Что такое стресс-тест сервера?
Это проверка, при которой нагрузку на сервер повышают постепенно и без заранее заданного потолка — до тех пор, пока он не начнёт отказывать: отвечать ошибками, обрывать соединения или открывать страницы дольше разумного. Обычный нагрузочный тест проверяет, справится ли сервер с ожидаемым числом посетителей. Стресс-тест ищет предел и показывает, сколько запаса у вас есть сверх обычного пика.
Результат стресс-теста — не «сервер хороший» или «плохой», а ответы на три вопроса:
- при скольких посетителях одновременно начинается заметное замедление;
- при какой нагрузке появляются ошибки и какие именно;
- что сдаётся первым: определённая страница, процессы веб-сервера, база данных или лимиты хостинга.
Зачем искать предел, если всё и так работает?
Потому что посещаемость растёт не плавно. Рассылка, реклама на телевидении, упоминание у блогера или распродажа приводят на сайт в разы больше людей за считанные минуты. Если вы знаете предел, вы знаете, какой всплеск переживёте, а к какому нужно готовиться: включить кэширование, сменить тариф хостинга, перенести статические файлы в сеть доставки контента.
Стресс-тест особенно полезен:
- после переезда на новый сервер или тариф хостинга;
- после крупных изменений сайта — новой темы, модулей, версии CMS;
- перед событиями, когда ожидается кратный рост посетителей;
- когда нужно обосновать расходы на сервер цифрами, а не ощущениями.
Как проходит стресс-тест в LoadSure?
- Подтвердите права на сайт — DNS-записью, файлом или мета-тегом. Нагрузку можно запустить только на сайт, права на который подтверждены: свой или сайт, владелец которого дал согласие.
- Выберите ситуацию «Найти предел». Нагрузка будет расти постепенно до потолка вашего тарифа: [ВСТАВИТЬ: потолок нагрузки на бесплатном тарифе / в бете].
- Тест остановится сам, как только сервер начнёт отказывать: доля ошибок за последние 10 секунд выше 15 %, время ответа 95 % запросов дважды подряд больше 10 секунд или полное отсутствие ответов в течение 20 секунд. Нагрузка снимается плавно, и обычно сайт восстанавливается за секунды.
- Получите отчёт: на скольких посетителях начались проблемы, на каких страницах и что исправить.
Виртуальные посетители ходят по страницам так же, как люди, — главная, каталог, карточки, поиск — и загружают стили, скрипты и картинки. Поэтому предел получается близким к реальному, а не к «максимальной скорости отдачи одной закэшированной страницы».
Как провести стресс-тест безопасно?
- Только на своём сервере или с согласия владельца. Нагружать чужие системы без разрешения нельзя.
- В часы минимального трафика. На время теста сайт может замедлиться для настоящих посетителей.
- Плавный рост нагрузки. Резкий скачок до максимума не покажет, где именно начинаются проблемы.
- Автоматическая остановка. Цель — найти предел, а не оставить сайт недоступным. В LoadSure остановка включена всегда.
- Предупредите хостинг, если у него есть защита от нежелательного трафика, и коллег, которые отвечают за сайт.
Подробнее о подготовке и о том, что делать с результатом, — в статье стресс-тест сайта: как найти предел нагрузки.
Что делать с найденным пределом?
Сравните его с ожидаемым пиком. Пиковую нагрузку удобно посчитать по данным аналитики — формула и пример есть в статье сколько пользователей выдержит сайт. Если предел выше пика в полтора-два раза, запас есть. Если меньше — начните со страницы, которая сдалась первой: в отчёте она отмечена, а рядом — вероятная причина и что сделать. После исправлений повторите тест в той же ситуации и сравните прогоны «до» и «после».
Важно помнить об ограничениях: тест нагружает сервер снаружи, через страницы сайта. Загрузку процессора, памяти и базы данных во время теста смотрите в панели хостинга или в системе мониторинга — вместе с отчётом это даёт полную картину.
Частые вопросы
Чем стресс-тест отличается от нагрузочного теста?
Нагрузочный тест проверяет ожидаемую нагрузку: выдержит ли сервер, например, 500 посетителей. Стресс-тест повышает нагрузку до тех пор, пока сервер не начнёт отказывать, — так находят предел и запас прочности.
Не сломает ли стресс-тест сервер?
Тест только открывает страницы и не меняет данные. Сервер может ненадолго перестать отвечать, но тест сам снимает нагрузку при первых серьёзных ошибках, и обычно сервер восстанавливается за секунды. Запускайте его в часы минимального трафика.
Можно ли провести стресс-тест чужого сервера?
Только с согласия владельца. В LoadSure нагрузку можно запустить только на сайт, права на который подтверждены, а подтверждение перепроверяется перед каждым запуском.
Как часто проводить стресс-тест?
После переезда на новый сервер или тариф хостинга, после крупных изменений сайта и перед событиями, когда ожидается кратный рост посетителей.
Что делать с результатом стресс-теста?
Сравните найденный предел с ожидаемым пиком посещаемости. Если запас меньше полутора-двух раз, найдите в отчёте страницу, которая сдалась первой, и начните с неё.