网络性能测试工具-dperf
dperf 是一款由百度开源的超高性能的网络压力测试工具。采用C语言开发并在ApacheV2.0 许可证协议授权。它使用了 DPDK 与用户态 TCP 协议栈技术,用一台 x86 服务器就可以制造巨大流量:数 10 亿并发连接,百 Gbps 吞吐,千万级 HTTP CPS,其性能远远超过商业测试仪。它还能够精确显示全链路的丢包数,能够帮助你准确找到被测设备性能瑕疵。
优点
性能强大:基于 DPDK,使用一台普通 x86 服务器就可以产生巨大的流量:千万级的 HTTP 每秒新建连接数,数百Gbps的带宽,几十亿的并发连接数
统计信息详细:能够输出详细的统计信息,并且识别每一个丢包
使用场景丰富:
可用于对四层负载均衡等四层网关进行性能压力测试、长稳测试
可用于对云上虚拟机的网络性能进行测试
可用于对网卡性能、CPU的网络报文处理能力进行测试
压测场景下,可作为高性能的HTTP Server或HTTP Client单独使用
统计数据
dperf 每秒输出多种统计数据:
TPS, CPS, 各种维度的PPS
TCP/Socket/HTTP级别的错误数
丢包数与按照TCP Flag分类的报文重传数
最新版本:1.3
2020年9月上旬,dperf 发布了新版本 v1.3.0。包括如下更新:
新增特性:
支持 VLAN,需要网卡支持 VLAN 卸载
提升单连接发送报文的速度,发送报文的间隔从 1ms 间隔降低到 10us
允许配置客户端的源端口范围,以便支持 google 云上的测试(注:google 云上有保留的 UDP 端口)。
新增文档:using dperf to test network bandwidth.
问题修复:
在 'rss auto' 配置下,UDP 并发连接数统计不准确的问题
RTE_ETH_MQ_RX_RSS 设置不正确
部分代码语法错误
部分编译告警
本次版本的新特性主要由 dperf 开源社区的需求驱动,由社区一起合作完成,自 2021 年 12 月开源至今,dperf 已发布了 4 个版本,得到很多用户的好评,并且在 github 上收获 1000 多个 Stars。让我们更开心的是,已经有很多企业或科研机构将 dperf 用于四层负载均衡、防火墙、交换机、网卡、云网络的性能或带宽测试,并且成为他们研发活动中的一个至关重要的工具。同时我们也很期待有更多的同路人加入进来,共同建设这款开源的网络性能测试仪。
项目主页:https://gitee.com/mirrors/dperf/