Нагрузочное тестирование — руководство | YoBench
Как пользоваться модулем «Load Testing» в YoBench: HTTP до 500 потоков и браузерное до 20, ramp-up, метрики RPS / latency / P95 / P99.
Что такое модуль «Нагрузочное тестирование»
Модуль создаёт нагрузку на ваши веб-сервисы, чтобы оценить их поведение при росте трафика. Поддерживается два режима: HTTP через undici в worker-потоках (до 500 параллельных потоков) и браузерный через Chromium (до 20 одновременных вкладок). Метрики обновляются каждую секунду — RPS, latency, P95/P99, error rate и активные потоки.
Что вы получаете:
- Высокая параллельность HTTP — до 500 потоков на одной машине, без браузера, минимальный overhead.
- Браузерный режим — до 20 одновременных Chromium-вкладок с
page.goto()иwaitUntil: networkidle2, для проверки полной отрисовки страницы. - Ramp-up — постепенное наращивание потоков (
ramp_step_threadsпотоков каждыеramp_step_durationсекунд). - Реалтайм-метрики — снимок каждую секунду в
load_test_snapshots: RPS, средний latency, P95/P99, error rate, активные потоки. - Прокси и авторизация — заголовки/куки/query-параметры применяются ко всем запросам теста.
- Хранение результатов — шаблоны и отчёты в локальной БД.
Параметры теста
При создании шаблона указываете:
- URL — обязателен.
- HTTP-метод — пока только
GET(поле захардкожено в worker'е). - Заголовки — берутся из выбранного профиля авторизации (метод
header). - Cookies — из профиля авторизации (метод
cookie); встраиваются в заголовокCookie. - Потоки — 1–500 для HTTP, 1–20 для браузера.
- Длительность — минимум 5 секунд, в БД хранится в секундах.
- Ramp-up —
ramp_enabled,ramp_step_duration(сек),ramp_step_threads(на сколько потоков увеличивать). Доступно только для режима HTTP; браузерный режим всегда стартует со всеми потоками. - Прокси — выбирается случайная IP из списка прокси-группы; поддерживается аутентификация.
- Профиль авторизации — общая запись из настроек.
Одновременно может выполняться только один тест — для точности измерений.
Метрики реального времени
Снимки сохраняются в load_test_snapshots каждую секунду:
- RPS — запросов в секунду в окне последнего интервала.
- Avg latency — среднее время ответа в миллисекундах.
- P95 — 95-й перцентиль latency.
- P99 — 99-й перцентиль latency.
- Error rate — процент ответов с ошибкой.
- Active threads — текущее число запущенных потоков (растёт во время ramp-up).
- Total requests / errors — накопительные счётчики.
В финальном отчёте дополнительно: P50 (медиана), Min и Max latency.
Лимиты памяти на удержание latency-сэмплов: HTTP — 50 000 последних, browser — 10 000.
Глобальные настройки
Специфичных loadTesting*-ключей в общих настройках нет — все параметры хранятся в шаблонах (load_test_templates) и отчётах (load_test_reports).
Флоу использования
1. Создайте шаблон
- Откройте модуль Нагрузочное тестирование в левом меню.
- На вкладке Шаблоны нажмите Создать шаблон.
- Заполните URL, режим (HTTP / Browser), число потоков, длительность.
- При желании включите ramp-up и задайте шаги.
- Выберите прокси-группу и профиль авторизации.
- Сохраните.
2. Запустите тест
Кнопка Запустить рядом с шаблоном создаёт отчёт со статусом running. Только один тест одновременно. Кнопка Стоп — досрочное завершение, метрики сохраняются.
3. Изучите отчёт
На вкладке Отчёты для каждой записи доступны графики (RPS, latency, P95/P99, errors), сводные числа и список снимков посекундно.
4. Сравните прогоны
Используйте отчёты, чтобы сравнить результаты при изменении кода / прокси / окружения. Шаблон можно перезапускать сколько угодно раз — каждый прогон создаёт новый отчёт.
Что дальше
- Параллельно с нагрузкой мониторьте ваш бэкенд через Серверы и Health Check.
- Используйте Site Audit для оценки SEO и Lighthouse в нормальных условиях.
- Если нужно проверить полную JS-цепочку — выбирайте режим Browser (но он ограничен 20 потоками).
Помощь и обратная связь
Хотели бы методы POST/PUT/DELETE, тело запроса, рандомизированные данные или WebSocket-нагрузку? Напишите нам через форму обратной связи.