Open source load testing tool that lets you define HTTP and other protocol load tests as plain Python code, with a web UI.
baidu/dperf
A DPDK-based network traffic generator and load testing tool for benchmarking L4 load balancers, gateways and servers.
- Stars
- 5,651
- Forks
- 562
- Open issues
- 1
- Last commit
- 3 months ago
What is it?
dperf is a network traffic generator and load testing tool built on DPDK, the user-space packet processing framework. It is aimed at measuring how far a device or server can go before it fails, by generating large volumes of HTTP connections, TCP traffic and packets from a single x86 machine.
The tool targets common benchmarking jobs: stress and stability testing of Layer 4 load balancers and gateways, network performance measurement on cloud servers, and evaluating how a NIC and CPU handle packet processing. It can also run as a simple high-performance HTTP server or client for test scenarios.
dperf prints real-time statistics every second, covering connections per second, packets per second, throughput, packet drops, socket errors and HTTP status counts, so each drop or error can be traced.
Key features
- 01Generates tens of millions of HTTP connections per second from one x86 server, built on DPDK.
- 02Reports real-time CPS, PPS, throughput, packet drops and socket errors every second.
- 03Supports Layer 4 load balancer and gateway stress testing.
- 04Can act as a high-performance HTTP server or client for test setups.
Use cases
- Load and stability testing for Layer 4 load balancers and gateways.
- Network throughput benchmarking of cloud servers.
- Evaluating NIC and CPU packet processing capacity.
Things to know
- Built on DPDK, so it depends on a DPDK environment and compatible network hardware.
- The README gives no install or build steps and points to an external website for documentation.
Topics
FAQ
- What is dperf?
- A DPDK-based network traffic generator and load testing tool for benchmarking L4 load balancers, gateways and servers. dperf is a network traffic generator and load testing tool built on DPDK, the user-space packet processing framework. It is aimed at measuring how far a device or server can go before it fails, by generating large volumes of HTTP connections, TCP traffic and packets from a single x86 machine.
- Is dperf free to use? What license does it have?
- dperf is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is dperf still maintained?
- Updated within 6 months. The last commit to dperf was on Aug 7, 2026.
- What can I use dperf for?
- Load and stability testing for Layer 4 load balancers and gateways. Network throughput benchmarking of cloud servers. Evaluating NIC and CPU packet processing capacity.
- Where can I get dperf?
- The source code and installation instructions are on GitHub: https://github.com/baidu/dperf
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A command-line tool and Go library for HTTP load testing that sends requests at a constant rate and reports latency statistics.
Open-source Java application for load testing and measuring the performance of web applications and other services.
A command-line HTTP load generator written in Rust, inspired by rakyll/hey, with a real-time terminal UI.
A Go-based HTTP(S) load testing CLI with a real-time terminal display and web charts, using fasthttp for client requests.
A minimal Rust CLI that exposes a local TCP port to a remote server, so localhost services can be reached from the public internet.