简介

dperf是一个基于DPDK开发,具有千万级HTTP CPS,几十亿并发,几百Gbps带宽的开源压力测试仪,dperf实现了一个精简的用户态TCP/IP协议栈、精简的Socket、精简的HTTP客户端与服务器,可以curl/ab/nginx进行对接。

dperf是一款开源的高性能网络压测软件,可用于测试四层负载均衡等网关设备的的各项性能指标(新建、带宽、并发、PPS)。

总之,dperf 是一个100Gbps的网络性能与压力测试软件。

优点

1、性能强大:

  • 基于 DPDK,使用一台普通 x86 服务器就可以产生巨大的流量:千万级的 HTTP 每秒新建连接数,数百Gbps的带宽,几十亿的并发连接数

2、统计信息详细:

  • 能够输出详细的统计信息,并且识别每一个丢包

3、使用场景丰富:

  • 可用于对四层负载均衡等四层网关进行性能压力测试、长稳测试
  • 可用于对云上虚拟机的网络性能进行测试
  • 可用于对网卡性能、CPU的网络报文处理能力进行测试
  • 压测场景下,可作为高性能的HTTP Server或HTTP Client单独使用

支持的特性

  1. 协议:ARP、ICMP、ICMP6、IPV4、IPV6、TCP、UDP、VXLAN、HTTP
  2. 严格测试过的网卡:vmxnet3、Intel 82599、Mellanox CX4/CX6、AWS ENA、virtio
  3. 测试过的DPDK版本:17.11,18.11,19.11,20.11, 21.11, 22
  4. KNI:用于发布动态路由
  5. bond:支持多有bond模式
  6. 多线程:使用多网卡、多队列,用FIDR分流,RSS分流
  7. 多进程:同一个Host上可以同时运行dperf客户端、dperf服务器
  8. 测试:并发连接数、每秒新建连接数、PPS、带宽
  9. 可以设置报文大小,不能修改报文内容

使用步骤

配置dpdk

配置大页

#参考如下参数编辑 '/boot/grub2/grub.cfg',然后重启OS
linux16 /vmlinuz-... nopku transparent_hugepage=never default_hugepagesz=1G hugepagesz=1G hugepages=8

编译dpdk

#编辑'config/common_base'打开PMD开关
#Mellanox CX4/CX5 requires 'CONFIG_RTE_LIBRTE_MLX5_PMD=y'
#HNS3 requires 'CONFIG_RTE_LIBRTE_HNS3_PMD=y'
#VMXNET3 requires 'CONFIG_RTE_LIBRTE_VMXNET3_PMD=y'

TARGET=x86_64-native-linuxapp-gcc #or arm64-armv8a-linuxapp-gcc
cd /root/dpdk/dpdk-stable-19.11.10
make install T=$TARGET -j16

绑定网卡

#Mellanox网卡跳过此步
#假设PCI号是0000:1b:00.0

#######################probe 驱动#############

modprobe uio
modprobe uio_pci_generic

#######################绑定网卡###############
/root/dpdk/dpdk-stable-19.11.10/usertools/dpdk-devbind.py -b uio_pci_generic 0000:1b:00.0

配置dperf

编译dperf

cd dperf
make -j8 RTE_SDK=/root/dpdk/dpdk-stable-19.11.10 RTE_TARGET=$TARGET

启动dperf server

#dperf server监听6.6.241.27:80, 网关是6.6.241.1
./build/dperf -c test/http/server-cps.conf

从客户端发送请求

#客户端IP必须要在配置文件的'client'范围内
ping 6.6.241.27
curl http://6.6.241.27/

运行测试

下面的例子运行一个HTTP CPS压力测试。
#在server端运行   dperf ./build/dperf -c test/http/server-cps.conf

#以另一台机器作为client端,运行dperf
./build/dperf -c test/http/client-cps.conf

详细请参考:

github链接

Linux:dperf---100Gbps开源压力测试工具相关推荐

  1. ab压力测试工具linux,【Linux】ApacheBench(ab)压力测试工具

    AB的简介 ab是apachebench命令的缩写. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试.比 ...

  2. Linux下Web网站压力测试工具Webbench

    webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好用,安装使用也特别方便,并且非常小. 一,环境:linux 二,安装方式:编译安装 具体 ...

  3. Linux性能优化——stress压力测试工具

    简介 stress是Linux的一个压力测试工具,可以对CPU.Memory.IO.磁盘进行压力测试. 请使用者要注意,这个工具并不是模拟业务问题的,是模拟系统级问题的.所以用它来模拟的时候,和业务真 ...

  4. linux下安装ab压力测试工具及ab命令详解

    yum -y install httpd-tools ab -v 查看ab版本 ab --help ab -n1000 -c 10 http://www.buruyouni.com/ http://w ...

  5. 开源的压力测试工具 PyLot

    为什么80%的码农都做不了架构师?>>>    一.什么是Pylot: Pylot(www.pylot.org)是一款开源的用以测试 Web Service性能和扩展性的工具,它运行 ...

  6. linux mysql 测试工具_LINUX系统下MySQL 压力测试工具super smack

    LINUX系统下MySQL 压力测试工具super smack 发布时间:2008-09-08 17:03:39   作者:佚名   我要评论 1. 源文件下载地址:http://vegan.net/ ...

  7. Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

    一.http_load程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会 ...

  8. Linux下四款Web服务器压力测试工具…

    一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不 ...

  9. Windows开源Web服务器性能和压力测试工具

    linux有很多开源工具用来测试服务器负载,而windows上非常少,几乎没有除了几个复杂的JMeter WET等 将两个好用的工具是Linux版本通过Cygwin移植过来,方便广大windows人员 ...

  10. windows 下用开源流媒体压力测试工具 rtmpstress 测试RTMP媒体服务器负载性能

    最近笔者的朋友需要部署流媒体服务作运营,从国外购买了几套流媒体服务器软件,该流媒体服务器软件是基于java开发的,他向笔者咨询,如何检测该流媒体服务器软件是否能支持1000以上并发,笔者建议找一个RT ...

最新文章

  1. 2022-2028年中国车载摄像头行业市场前瞻与投资战略规划分析报告
  2. python从入门到精通书籍推荐-清华大学出版社-图书详情-《Python从入门到精通》...
  3. Android之View和SurfaceView
  4. iOS 10 SceneKit 新特性 – SceneKit 制作 3D 场景框架
  5. 如何找出Fiori frontend server的systen ID
  6. mysql boost 5.7.21_mysql 5.7.21 安装配置方法图文教程(window)
  7. linux加密框架 crypto 算法管理 - 算法查找接口 crypto_alg_lookup函数
  8. 从char到QChar
  9. 河南双轨制直销系统开发推荐奖介绍
  10. 摩托车电动化,一场千亿美元的新战争
  11. 校园网接无线路由器多账号登录
  12. 魅族17用鸿蒙系统,发布一年还很香,魅族17升级Flyme 9后太好用了
  13. 05、Flutter FFI 结构体
  14. 微信小程序对接串口摄像头
  15. 快速云:IDC、EDC、ODC、DC分别指什么机房?
  16. 如何知道PDF是不是正常的A4大小尺寸?
  17. Flask SQLAlchemy - 2013 Lost Connection
  18. 正规蓝牙耳机一般多少钱?音质好又便宜的蓝牙耳机
  19. 喷淋系统在安装算量软件中如何计算工程量?
  20. 北京小升初计算机编程特长生班,北京特长生小升初测试启动 家长凌晨排队取号 图...

热门文章

  1. 2021年上半年系统集成项目管理工程师上午真题及答案解析
  2. 计算机专业英语影印版试题,计算机专业英语(2008影印版)复习资料
  3. 如何解决网页显示不全和打不开的问题
  4. 华为手机隐藏app图标_华为手机隐藏图标的设置方法
  5. python表白程序exe_表白小姐姐的Python程序
  6. 计算机一级win7win10,Windows7怎么升级10系统,两种最简单的Win7升级Win10教程
  7. NiceChord好和弦——和弦符号全解
  8. Print Screen sysRa PrtSc
  9. C语言从入门到放弃2022年8月3号
  10. 【Badboy】脚本录制