Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Load Balancing Benchmark

Инструмент для сравнения алгоритмов балансировки нагрузки в многопоточной среде с использованием асинхронных корутин (C++23, Asio).

Назначение

Проект позволяет проводить нагрузочное тестирование алгоритмов балансировки на настраиваемых сценариях. Результаты представляются в виде JSON-отчёта с детальной статистикой по латентности, отказам, пропускной способности и распределению запросов по серверам.

Зависимости

  • Компилятор с поддержкой C++23 (GCC ≥ 13, Clang ≥ 16)
  • CMake ≥ 3.24
  • just (опционально, упрощает сборку)
  • Python 3.11+ (только для веб-интерфейса визуализации)

Все необходимые С++ библиотеки (nlohmann/json, asio) загружаются автоматически при первой сборке через CMake FetchContent.

Сборка и запуск

Сборка через just

# Конфигурация проекта (скачивание зависимостей)
just setup [debug/release]

# Сборка, в build появятся {preset}_main цели
just build [debug/release]

# Запуск тестов (опционально)
just test

#короткий запуск 
just run {path_testbanch} [path_out] [preset_name]

Сборка через платфому

#если нужны прогоны данных, то стоит перед началом работы в веб интерфейсе сделать  
just build

# Запустить веб-интерфейс (http://127.0.0.1:8000)
just web

Пресеты

Готовые пресеты находятся в папке presets/. Каждый файл описывает один эксперимент. Полная JSON-схема пресета расположена в schems/preset-schema.json (общие определения - schems/common-defs.json). Минимальный пример см. в presets/example.json.

на выходе будет json результат схемы schems/result-schema.json

Авторы

Билалов Тимур

Горбов Георгий

Кулаковский Владислав

Погребицкий Георгий

Балюк Иван

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages