whatisgithub

What is dperf?

baidu/dperf — explained in plain English

Analysis updated 2026-06-26

5,559CAudience · ops devopsComplexity · 4/5LicenseSetup · hard

In one sentence

dperf is a high-performance HTTP load testing tool that can generate tens of millions of new connections per second from a single server by bypassing the OS network stack using DPDK.

Mindmap

mindmap
  root((dperf))
    What it does
      HTTP load gen
      Packet benchmarking
      Live stats output
    Tech stack
      C language
      DPDK framework
      100GbE hardware
    Use cases
      Load balancer test
      NIC benchmarking
      Cloud server limits
    Audience
      Network engineers
      Infra teams
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Stress-test a Layer 4 load balancer to see how many simultaneous connections it can handle before dropping packets

USE CASE 2

Benchmark a cloud server's maximum network throughput and packet processing capacity

USE CASE 3

Measure network card and CPU performance under sustained 100 Gbps traffic

USE CASE 4

Generate millions of HTTP client requests per second from a single machine for infrastructure testing

What is it built with?

CDPDK

How does it compare?

baidu/dperfnginx/unitmruby/mruby
Stars5,5595,5625,563
LanguageCCC
Setup difficultyhardmoderatemoderate
Complexity4/54/53/5
Audienceops devopsops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires server-grade hardware with DPDK-compatible NICs and privileged access to bypass the OS network stack.

Apache 2.0, use freely in any project, commercial or open-source, as long as you keep the license notice.

So what is it?

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.

Copy-paste prompts

Prompt 1
I want to use dperf to stress-test my Layer 4 load balancer. Write me a config file that sends 1 million new HTTP connections per second to IP 192.168.1.10 on port 80.
Prompt 2
Explain the dperf statistics output format: what does each column mean, and which numbers should I watch when looking for packet drops under load?
Prompt 3
Help me set up a dperf client and server pair to benchmark my 10GbE network card. What hardware and DPDK configuration do I need to saturate the link?

Frequently asked questions

What is dperf?

dperf is a high-performance HTTP load testing tool that can generate tens of millions of new connections per second from a single server by bypassing the OS network stack using DPDK.

What language is dperf written in?

Mainly C. The stack also includes C, DPDK.

What license does dperf use?

Apache 2.0, use freely in any project, commercial or open-source, as long as you keep the license notice.

How hard is dperf to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is dperf for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.