Public
Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

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 CoresServer CoresHTTP CPS (Million)Client CPU Usage (%)Server CPU Usage (%)
1147471
2287472
44167370
88327068
1616647068

HTTP Throughput (Gbps)

Client CoresServer CoresRX ThroughputTX ThroughputClient CPU Usage (%)Server CPU Usage (%)
1198.3 Gbps98.3 Gbps7880
22196.7 Gbps196.7 Gbps7882

Concurrent Connections

Client CoresServer CoresConnections (Billion)Client CPU Usage (%)Server CPU Usage (%)Memory Usage (GB)
111484860
2224848120
4444848240

TCP Packets Per Second (PPS)

Client CoresRX PPS (Mpps)TX PPS (Mpps)Client CPU Usage (%)
116.816.899
6105.2105.299
12204.6204.699

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.

关于 About

dperf: High-Performance Network Load Testing Tool Based on DPDK
benchmarkdpdkl4lblinux-networkingload-testingnetwork-benchmarkingpacket-generatorperformanceperformance-testingtcpuser-space-networkinguser-space-tcp

语言 Languages

C99.5%
Makefile0.5%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
13
Total Commits
峰值: 5次/周
Less
More

核心贡献者 Contributors