Stress-test a Layer 4 load balancer to see how many simultaneous connections it can handle before dropping packets
Benchmark a cloud server's maximum network throughput and packet processing capacity
Measure network card and CPU performance under sustained 100 Gbps traffic
Generate millions of HTTP client requests per second from a single machine for infrastructure testing
Requires server-grade hardware with DPDK-compatible NICs and privileged access to bypass the OS network stack.
dperf is a network load testing tool that can generate very high volumes of traffic from a single server. It is built on DPDK, a technology that moves network packet processing out of the operating system and into user space, which removes the overhead that normally limits how fast a server can send or receive packets. The result is that one machine running dperf can produce tens of millions of new HTTP connections per second and sustain hundreds of gigabits of throughput. The tool is designed for testing infrastructure that sits in the path of heavy network traffic. Typical uses include stress-testing a Layer 4 load balancer, benchmarking a cloud server to understand its actual packet processing limits, or measuring how a network card and CPU hold up under extreme load. It can act as either an HTTP client generating requests or an HTTP server absorbing them, which lets you test both sides of a connection from your own hardware. Every second while a test runs, dperf prints a line of statistics covering connections opened and closed, packets sent and received in each direction, TCP flags observed, HTTP response codes, and any drops or errors. This gives a running view of what the device under test is doing rather than just a final summary. The published benchmarks were run on server-grade hardware: two Intel Xeon processors, 256 GB of RAM total, and two dual-port 100 GbE network cards. On that setup, 16 CPU cores on each side produced 64 million new HTTP connections per second. dperf is written in C, released under the Apache 2.0 license, and was originally developed at Baidu.
← baidu on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.