Услуга · Тестирование и QA

Нагрузочное тестирование

Выясняем заранее, что случится в день распродажи или после массовой рассылки. Система, бодрая при десятке посетителей, на тысяче нередко не просто замедляется, а перестаёт отвечать вовсе.

Предел
находим точку отказа
Узкое место
что сдаётся первым
Профиль
воспроизводим живых людей
Повтор
после каждой оптимизации

Состав работ

Проверка строится на настоящем профиле поведения, а не на абстрактном числе одновременных подключений.

Обсудить объём

Профиль

Чем занимаются посетители и в каком соотношении: смотрят каталог, ищут, оформляют покупку.

Сценарии

Скрипты повторяют живое поведение вместе с естественными паузами между действиями.

Наращивание

Постепенно увеличиваем поток и фиксируем момент, когда время отклика начинает расти.

Узкое место

Определяем, что упирается первым: процессор, память, диски, база или внешний сервис.

За пределом

Как система ведёт себя после точки отказа и способна ли самостоятельно восстановиться.

Рекомендации

Что настроить, что переписать, что нарастить и в каком порядке это делать.

Порядок действий

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

01

Цель

Какую нагрузку нужно выдерживать и с каким временем отклика. Без конкретных чисел проверять нечего.

02

Подготовка

Отдельный контур, скрипты и объём данных, сопоставимый с рабочим.

03

Прогоны

Ступенчато повышаем нагрузку и снимаем показатели на каждой ступени.

04

Разбор

Отчёт с найденными узкими местами и очерёдностью работ по устранению.

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

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

Крайне нежелательно: проверка способна сделать его недоступным для живых посетителей и испортить статистику. Правильнее поднять копию на отдельном контуре. Если копии нет, работаем ночью, с ограничением и по согласованию.

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

Порядок обычно такой: сначала кеширование и оптимизация запросов к базе - это дешевле всего и часто даёт кратный прирост. Наращивание мощности идёт вторым шагом, перестройка архитектуры - последним.

Проверим систему на прочность

Напишите ожидаемую нагрузку и сроки. Смоделируем поток и покажем, где начнутся проблемы.