volley
volley — нагрузочное тестирование http

Не гадайте,где предел.

Создавайте воспроизводимую нагрузку, описывайте сценарии в YAML и наблюдайте поведение сервиса через метрики и трассировки.

тезис 01

Сценарий.

Шаги, веса и длительность описываются в YAML — прогон объявляется, а не собирается вручную.

тезис 02

Нагрузка.

Асинхронное ядро на C++20 генерирует поток запросов к целевому сервису.

тезис 03

Наблюдение.

Метрики OTLP и Prometheus плюс трассировки показывают поведение сервиса под нагрузкой.

тезис 04

Предел.

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

тезис 05

Воспроизводимость.

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

панель прогона — мокап
volley
манифест

Не гадайте.

Опишите сценарий.

Найдите предел.

Воспроизведите.

горизонтальная лента — прокрутите вбок →

стек и протоколы

C++20

Асинхронное ядро на Boost.Beast и ASIO исполняет прогон и держит поток запросов.

OTLP

Трассировки и метрики прогона уходят в Prometheus и другие наблюдаемые бэкенды.

mTLS

OAuth2 · mTLS · Vault — доступ к защищённым целям без секретов в коде и в репозитории.

возможности

YAML-сценарии

Декларативное описание шагов, профиля нагрузки и проверок прогона.

01

C++20 ядро

Асинхронный движок на Boost.Beast и ASIO исполняет прогон.

02

HTTP · WebSocket · raw TCP

Три уровня работы с целевым сервисом — от запросов до сырых соединений.

03

OAuth2 · mTLS · Vault

Доступ к защищённым целям без секретов в коде и в репозитории.

04

OTLP + Prometheus

Трассировки и метрики прогона уходят в наблюдаемые бэкенды.

05

Python SDK и REST

Управление прогонами из кода и через REST control plane.

06
как это работает
01 →

Сценарий YAML

Описываете шаги, соединения и длительность нагрузки.

02 →

Асинхронное ядро

C++20 исполняет сценарий и держит поток запросов.

03 →

HTTP / WebSocket

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

04

Метрики и SLA

Результат читается по метрикам и трассировкам, а не по ощущениям.

иллюстрация
план сценария

40 × 10 = 400

40 соединений × 10 запросов = 400 запросов. Нагрузка не отправляется.

Локальная иллюстрация, не подключается к сервисам. Столбики — форма плана, а не результаты прогона.

запуск

Найдите предел.

Опишите сценарий в YAML, запустите асинхронное ядро на C++20 и прочитайте результат в метриках. Тот же сценарий — тот же прогон, один в один.

git clone https://github.com/ssrjkk/volley.git
cd volley
Смотреть на GitHub → Документация

Дальше — README в репозитории.