Что входит

Тест строится на реальном профиле нагрузки, а не на абстрактном числе пользователей.

Обсудить состав

Профиль нагрузки

Что делают пользователи и в какой пропорции: смотрят каталог, ищут, оформляют заказ.

Сценарии

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

Постепенный рост

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

Поиск узких мест

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

Стресс-тест

Что происходит за пределом: плавная деградация или полный отказ и как система восстанавливается.

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

Что настроить, что оптимизировать, что масштабировать и в каком порядке.

Как проходит работа

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

01

Цели

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

02

Подготовка

Тестовый контур, скрипты, наполнение данными, сопоставимыми с боевыми.

03

Прогоны

Постепенный рост, фиксация метрик на каждом уровне.

04

Анализ

Отчёт с узкими местами и приоритетами оптимизации.

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

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

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

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

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

Проверим систему под нагрузкой

Расскажите, какую нагрузку ожидаете и когда. Смоделируем и покажем, где система начнёт сдавать.