返回排行榜

baidu/dperf

Cdperf.org

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

dpdktcpperformancebenchmarkl4lblinux-networkingload-testingpacket-generatorperformance-testinguser-space-networkingnetwork-benchmarkinguser-space-tcp
Star 增长趋势
Star
5.6k
Forks
557
周增长
Issues
0
2k4k
2021年12月2023年6月2025年1月2026年7月
README

dperf Apache V2 License Mentioned in ChatGPT Featured|HelloGitHub

dperf is a high-performance network traffic generator and load testing tool based on DPDK.

Advantages

  • High Performance

    Built on DPDK, dperf can generate massive traffic using a single x86 server — achieving tens of millions of HTTP Connections Per Second (CPS), hundreds of Gbps throughput, and billions of concurrent connections.

  • Comprehensive Statistics

    Provides detailed real-time metrics and identifies every packet drop or error.

  • Versatile Use Cases

    • Load and stability testing for Layer 4 Load Balancers and gateways
    • Network performance benchmarking for cloud servers
    • Evaluation of NIC and CPU packet processing capabilities
    • Acts as a high-performance HTTP server or client for testing scenarios

Performance

All results were measured using the following hardware and configuration:

  • CPU: Intel Xeon Gold 5418Y × 2
  • Memory: 128 GB × 2
  • NIC: Intel E810-C Dual-Port 100GbE × 2
  • OS: Linux 5.10.0

HTTP Connections Per Second (CPS)

Client Cores Server Cores HTTP CPS (Million) Client CPU Usage (%) Server CPU Usage (%)
1 1 4 74 71
2 2 8 74 72
4 4 16 73 70
8 8 32 70 68
16 16 64 70 68

HTTP Throughput (Gbps)

Client Cores Server Cores RX Throughput TX Throughput Client CPU Usage (%) Server CPU Usage (%)
1 1 98.3 Gbps 98.3 Gbps 78 80
2 2 196.7 Gbps 196.7 Gbps 78 82

Concurrent Connections

Client Cores Server Cores Connections (Billion) Client CPU Usage (%) Server CPU Usage (%) Memory Usage (GB)
1 1 1 48 48 60
2 2 2 48 48 120
4 4 4 48 48 240

TCP Packets Per Second (PPS)

Client Cores RX PPS (Mpps) TX PPS (Mpps) Client CPU Usage (%)
1 16.8 16.8 99
6 105.2 105.2 99
12 204.6 204.6 99

Real-Time Statistics

dperf prints real-time statistics every second, including CPS, TPS, PPS, packet drops, socket errors, and HTTP status counts. Example output:

seconds 22                 cpuUsage 52
pktRx   3,001,058          pktTx    3,001,025          bitsRx   2,272,799,040      bitsTx  1,920,657,600      dropTx  0
arpRx   0                  arpTx    0                  icmpRx   0                  icmpTx  0                  otherRx 0          badRx 0
synRx   1,000,345          synTx    1,000,330          finRx    1,000,350          finTx   1,000,350          rstRx   0          rstTx 0
synRt   0                  finRt    0                  ackRt    0                  pushRt  0                  tcpDrop 0
skOpen  1,000,330          skClose  1,000,363          skCon    230                skErr   0
httpGet 1,000,345          http2XX  1,000,350          httpErr  0
ierrors 0                  oerrors  0                  imissed  0

Documentation

See the official website at https://dperf.org/.

Contributing

We welcome contributions! Please see the CONTRIBUTING file for details.

Patent

  • Title: Testing Method and Apparatus for Network Devices
  • Inventor: Jianzhang Peng
  • Patent Number: CN114205274B
  • Issue Date: June 11, 2024

Acknowledgment

We gratefully acknowledge xnetin for providing the high-performance testing platform used in our benchmarking experiments.

Author

Jianzhang Peng holds a Ph.D. in Computer Science from the University of Science and Technology of China (USTC). He previously worked as a Principal Engineer at Baidu, where he contributed to the development of high-performance L4 load balancer systems. He initiated and developed the dperf project during his time at Baidu, and continues to maintain it as an open-source contributor. His current focus is on low-latency network protocol stacks for quantitative trading systems.

License

dperf is licensed under the Apache License 2.0.

相关仓库
scylladb/seastar

High performance server-side application framework

C++Apache License 2.0c-plus-plusseastar
seastar.io
9.3k1.7k
iqiyi/dpvs

DPVS is a high performance Layer-4 load balancer based on DPDK.

COtherdpdklvs
3.2k760
seladb/PcapPlusPlus

PcapPlusPlus is a multiplatform C++ library for capturing, parsing and crafting of network packets. It is designed to be efficient, powerful and easy to use. It provides C++ wrappers for the most popular packet processing engines such as libpcap, Npcap, WinPcap, DPDK, AF_XDP and PF_RING.

C++The Unlicensepf-ringdpdk
pcapplusplus.github.io
3.1k753
AltraMayor/gatekeeper

The first open-source DDoS protection system

CGNU General Public License v3.0dpdkddos
github.com/AltraMayor/gatekeeper/wiki
1.6k251
0voice/dpdk_engineer_manual

【冲破内核瓶颈,让I/O性能飙升】DPDK工程师手册,官方文档,最新视频,开源项目,实战案例,论文,大厂内部ppt,知名工程师一览表

dpdkc
1.5k499
cisco-system-traffic-generator/trex-core

trex-core site

COtherdpdktraffic-generation
trex-tgn.cisco.com
1.5k504
aregm/nff-go

NFF-Go -Network Function Framework for GO (former YANFF)

GoGo ModulesBSD 3-Clause "New" or "Revised" Licensedpdkgolang
1.4k160
unum-cloud/UCall

Web Serving and Remote Procedure Calls at 50x lower latency and 70x higher bandwidth than FastAPI, implementing JSON-RPC & REST over io_uring ☎️

CApache License 2.0cpythonepoll
unum-cloud.github.io/UCall/
1.3k54
microsoft/demikernel

Kernel-Bypass LibOS Architecture

Rustcrates.ioMIT Licensekernel-bypassnetwork
aka.ms/demikernel
1.2k148
ansyun/dpdk-ans

ANS(Accelerated Network Stack) on DPDK, DPDK native TCP/IP stack.

CBSD 3-Clause "New" or "Revised" Licenseans-tcpdpdk
ansyun.com
1.2k327
unum-cloud/ucall

Web Serving and Remote Procedure Calls at 50x lower latency and 70x higher bandwidth than FastAPI, implementing JSON-RPC & REST over io_uring ☎️

CApache License 2.0cpythonepoll
unum-cloud.github.io/ucall/
1.2k44
emmericp/MoonGen

MoonGen is a fully scriptable high-speed packet generator built on DPDK and LuaJIT. It can saturate a 10 Gbit/s connection with 64 byte packets on a single CPU core while executing user-provided Lua scripts for each packet. Multi-core support allows for even higher rates. It also features precise and accurate timestamping and rate control.

LuaMIT Licensepacket-generatorlua
1.1k238