Инструмент с открытым исходным кодом для нагрузочного тестирования: сценарии для HTTP и других протоколов задаются обычным кодом на Python, а результаты отображаются в веб-интерфейсе.
baidu/dperf
Генератор сетевого трафика и инструмент нагрузочного тестирования на базе DPDK для бенчмаркинга L4-балансировщиков, шлюзов и серверов.
- Звёзды
- 5,651
- Форки
- 562
- Открытые issues
- 1
- Последний коммит
- 3 месяца назад
Что это?
dperf — генератор сетевого трафика и инструмент нагрузочного тестирования на базе DPDK — фреймворка для обработки пакетов в пользовательском пространстве. Он помогает измерить пределы устройства или сервера, генерируя большие объёмы HTTP-соединений, TCP-трафика и пакетов с одной машины x86.
Инструмент предназначен для типовых задач бенчмаркинга: нагрузочного и стресс-тестирования L4-балансировщиков и шлюзов, измерения производительности сети на облачных серверах, а также оценки того, как NIC и CPU справляются с обработкой пакетов. В тестовых сценариях dperf также может работать как простой высокопроизводительный HTTP-сервер или клиент.
dperf каждую секунду выводит статистику в реальном времени: количество соединений в секунду, пакетов в секунду, пропускную способность, потери пакетов, ошибки сокетов и количество ответов с разными HTTP-статусами. Это позволяет отследить причину каждой потери или ошибки.
Ключевые возможности
- 01Генерирует десятки миллионов HTTP-соединений в секунду с одного x86-сервера; построен на DPDK.
- 02Каждую секунду показывает CPS, PPS, пропускную способность, потери пакетов и ошибки сокетов в реальном времени.
- 03Поддерживает стресс-тестирование L4-балансировщиков и шлюзов.
- 04Может работать как высокопроизводительный HTTP-сервер или клиент в тестовых конфигурациях.
Сценарии использования
- Нагрузочное и стресс-тестирование L4-балансировщиков и шлюзов.
- Бенчмаркинг пропускной способности сети на облачных серверах.
- Оценка возможностей NIC и CPU по обработке пакетов.
Что важно знать
- Проект основан на DPDK, поэтому для его работы требуется среда DPDK и совместимое сетевое оборудование.
- В README нет инструкций по установке или сборке; для ознакомления с документацией предлагается перейти на внешний сайт.
Темы
Частые вопросы
- Что такое dperf?
- Генератор сетевого трафика и инструмент нагрузочного тестирования на базе DPDK для бенчмаркинга L4-балансировщиков, шлюзов и серверов. dperf — генератор сетевого трафика и инструмент нагрузочного тестирования на базе DPDK — фреймворка для обработки пакетов в пользовательском пространстве. Он помогает измерить пределы устройства или сервера, генерируя большие объёмы HTTP-соединений, TCP-трафика и пакетов с одной машины x86.
- dperf можно использовать бесплатно? Какая у него лицензия?
- dperf распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- dperf всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в dperf — 7 авг. 2026 г..
- Для чего можно использовать dperf?
- Нагрузочное и стресс-тестирование L4-балансировщиков и шлюзов. Бенчмаркинг пропускной способности сети на облачных серверах. Оценка возможностей NIC и CPU по обработке пакетов.
- Где скачать dperf?
- Исходный код и инструкции по установке — на GitHub: https://github.com/baidu/dperf
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
CLI-инструмент и библиотека Go для нагрузочного тестирования HTTP: отправляют запросы с постоянной частотой и показывают статистику задержек.
Приложение с открытым исходным кодом на Java для нагрузочного тестирования и оценки производительности веб-приложений и других сервисов.
Консольный генератор HTTP-нагрузки на Rust, вдохновлённый rakyll/hey, с интерактивным терминальным интерфейсом в реальном времени.
CLI на Go для нагрузочного тестирования HTTP(S) с отображением результатов в реальном времени в терминале и веб-интерфейсе; для запросов используется fasthttp.
Минималистичная CLI-утилита на Rust, которая открывает локальный TCP-порт на удалённом сервере, делая сервисы localhost доступными из интернета.