# baidu/dperf

dperf: High-Performance Network Load Testing Tool Based on DPDK

Repository: https://github.com/baidu/dperf
Canonical: https://ross.abutalabs.com/products/dperf
Homepage: https://dperf.org
Language: C
License: Apache-2.0
License Family: permissive
Topics: dpdk, tcp, performance, benchmark, l4lb, linux-networking, load-testing, packet-generator, performance-testing, user-space-networking, network-benchmarking, user-space-tcp
Last push: 2026-08-07T03:44:20+00:00

## Health v2 (maintenance only)
Score: 66/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 96, release rhythm 8, longevity 100
- inputs: {"age_days": 1716, "days_push": 26, "days_rel": 406, "gap_med": 223, "n_releases_24m": 2}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 5601, forks 557 (observed 2026-08-28T04:09:22.891619+00:00)

## What it is
dperf is a high-performance network traffic generator and load testing tool built on DPDK, capable of tens of millions of HTTP connections per second, hundreds of Gbps throughput, and billions of concurrent connections from a single x86 server. It supports HTTP, TCP, UDP, IPv4/IPv6, VLAN, and VXLAN, and can also act as a high-performance HTTP server or client for testing scenarios.

## Use cases
- load test a layer 4 load balancer or gateway
- benchmark network performance of cloud servers
- measure NIC and CPU packet processing capability
- generate massive HTTP/TCP/UDP traffic for stability testing
- run a high-performance HTTP client or server for test scenarios
- measure connections per second and throughput at 100Gbps

## When to choose
- you need line-rate traffic generation far beyond what kernel-based tools like iperf or wrk can achieve
- you are testing L4 load balancers, gateways, or NIC throughput with DPDK-supported hardware
- you need detailed per-packet drop and error statistics during load tests

## When to avoid
- your NIC is not supported by DPDK or you need a simple tool that runs on a stock kernel network stack
- you need application-layer (L7) protocol testing beyond HTTP
- you are on a non-Linux OS or non-x86/ARM/LoongArch CPU

## Facets
- artifact type: cli-tool
- maturity: active
- function: load-testing, benchmarking, networking, http-server, http-client
- domain: networking, performance, developer-tools, testing
- platform: cli, cpp
- tags: dpdk, packet-generator, user-space-networking, tcp, udp, load-balancer-testing, nic-benchmarking, c, linux

## Member repositories
- baidu/dperf (main) score 66

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:22.891619+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:55:27.722235+00:00, confidence not recorded.
  - readme: https://github.com/baidu/dperf (fetched 2026-08-28T04:09:22.891619+00:00, sha 6b45166a986a)
  - homepage: https://dperf.org (fetched 2026-08-29T08:50:17.859658+00:00, sha aa5960f6e70e)
  - site_page: https://dperf.org/doc/html/dperf-faq.html (fetched 2026-08-29T08:50:17.861930+00:00, sha d2cb2e2a02c3)
- Data as of 2026-08-30T08:39:29.467469+00:00.
