在未使用该工具之前,一直使用的是 iperf 在 10G 网卡场景下进行 64 字节小包性能测试。若要将 64 字节小包流量发到限速,要么一直增加 iperf 客户端,或者在一个高配 iperf 客户端虚拟机中不断的增加 iperf 进程。即使是这样,将发包达到网卡上限,却依然无法利用好 6wind 的性能。所以考虑使用 DPDK-pktgen 发包工具。该工具基于 DPDK 快速报文处里框架开发
Memory AccessAddress Alignment在内存中存取一个变量最高效的方式是将其放在一个可以被它的长度整除的地址上。(void *)&variable % sizeof(variable) == 0所谓的按某个长度对齐就是这个意思。GCC编译器会自动帮我们处理这些事情。比较特殊的方式是将一个大型的结构体,或者静态数组按64byte的方式对齐:int BigArray[10
DPDK从网卡直接取数据到用户空间,需要有数据转发的规则才能通信。也就是说需要用户实现相关通信网络协议实现相关数据包的转发(有些协议栈不转发ICMP报文那就Ping不通),例如腾讯的fstack,爱奇艺的DPVS等。这里仅以简单的2层和3层通信实例。l2fwd Sample运行./build/l2fwd -l 0-3 -n 4 -- -q 8 -p 0x03 或者 ./build/l2
转载 2024-09-11 21:01:46
219阅读
背景一客户 使用app 下载附件慢,找到研发 ,研发判断网络问题,但是拿不出证据 找到我这边 使用iperf3搞了下请求链路app -->Y报账server --> Y企联A --> Y企联B --> Y企联gateway --> YFS 公网 公有云 公有云 公有云 客户DMZ 客户内网 0.5M的文件从 Y企
本文介绍了数据平面开发工具包(DPDKTestPMD应用程序,展示了如何构建和配置TestPMD, 以及如何用它来检查使用DPDK的不同网络设备的性能和功能。TestPMD是一个使用DPDK软件包分发的参考应用程序。其主要目的是在网络接口的以太网端口之间转发数据包。此外,用户还可以用TestPMD尝试一些不同驱动程序的功能,例如RSS,过滤器和英特尔®以太网流量控制器(Intel® Ethern
转载 2024-03-13 20:34:30
387阅读
回环检测的意义: 1.给后端的Pose Graph提供更多有效的数据(即走到同一个位置附近了),否则后端优化可能把前端的误差累积起来,出现漂移问题。2.跟踪算法如果跟丢了,利用回环检测进行重定位。回环检测的实现方式: 1.朴素思路:(1)暴力匹配,任意两幅图像做一遍特征匹配,并根据数量确定两幅相关联的图像。问题:时间复杂度太大,不实用。(2)随机抽取历史数据进行回环检测。问题:抽到回环几率下降。检
使用纯净环境搭建dpdk测试环境: 使用vmware虚拟机安装dpdk环境进行测试。 虚拟机用16.04ubuntu dpdkdpdk-19.08.2.tar(官网下载)1:安装dpdk环境前准备。1:新的虚拟机环境,换源,更新,安装gcc,g++,确保python安装2:增加网络适配器,增加处理器,可能要增大内存,设置多网卡。 这里我 第一个网络适配器桥接模式,作为dpdk多网卡测试环境。 第
转载 2024-04-09 13:09:14
1094阅读
首先从main函数开始,我们一个函数一个函数的逐层进行分析 rte_openlog_stream(stderr)开启日志,日志级别是stderrapp_config_args函数 调用getopt_long函数循环解析运行参数,如解析-f -s -p -l 参数 3.app_config_preproc(&app); 解析配置的一些预处理 比如检测配置文件是否存在,构造buffer,
作者简介:Pablo de Lara Guarch 是英特尔网络软件工程师,主要关注DPDK的数据平面函数和库的开发,其贡献包括哈希算法增强和新的加解密设备驱动。此外,他还维护了DPDK crypto subtree。本文介绍了数据平面开发工具包(DPDKTestPMD应用程序,展示了如何构建和配置TestPMD,以及如何用它来检查使用DPDK的不同网络设备的性能和功能。TestPMD是一个使用
参考上一篇文章,这里做回顾以及整理:使用vmware虚拟机(16.04)+dpdkdpdk-19.08.2.tar)进行测试1:定义两个网络适配器,第一个定义为桥接模式(用来连接dpdk)第二个设置为net模式,用来连接xshell方便测试 增加处理器,增加内存(方便设置多队列网卡,设置大内存页)2:配置使多个网卡有效,修改配置文件后要重启网络服务的,才能生效:sudo service netw
...
转载 2020-05-09 22:53:00
2692阅读
2评论
目录文章目录目录前文列表DPDK APP 的指令行参数
原创 2022-04-07 11:28:17
10000+阅读
 考虑的测试点: 吞吐量: (单个端口的转发速率, 整机设备的转发速率, 时延, 丢包率,) 如果设置100条流 让CPU负载,那REF打开否。 与同一条流 这里是不是有影响呢?  NLANR推荐的Imix分布模型中,需要将长度为64字节、594字节和1518字节的数据包混合在一起发送给被测设备。这三类数据包数量混合的比例依 次为64字节:594字节:1518字节
原创 2010-08-18 23:59:55
685阅读
线速:   LAN交换机等产品目录中,在表示设备性能的项目里有“线速(Wire Speed)”这么一个说法。如“实现了线速的LAN交换机”、“支持线速从而实现高性能”等,经常在宣传产品时使用,让人觉得是速度快的意思,可实际上真是那么回事吗?今天我们就来看看“线速”这个词。      先说一下答案,线速是指理论上线缆通过最大帧数时
  包转发率的计算——实例说明 100Mbit/s的以太网络,100M换算成byte则是100/8=12.5M byte/s,换算出来就是12500000bytes。
转载 精选 2011-07-10 07:08:59
781阅读
作者:半天妖 2.概述本章节给出了DPDK架构的一个全局概述。DPDK的主要目的就是为数据面快速报文处理应用程序提供一个简洁完整的框架。用户可以通过代码来理解其中使用的一些技术,构建自己的应用程序或添加自己的协议栈。可用的使用DPDK供选择的生态系统选项。通过创建环境抽象层(EAL),DPDK框架为每个特殊的环境创建了一组运行库。这个库特定于Intel架构(32或64位),Linux*用户空间编译
转载 2024-10-25 09:56:57
98阅读
一、首先我们需要准备一个物理机或者一个虚拟机。 物理机: 需要一个高性能的网卡跑dpdk和一个普通网卡进行网络通信,机器安装Ubuntu16.04. 虚拟机: 使用vnware安装Ubuntu16.04,配置一个多队列网卡和一个普通网卡。二、虚拟机配置 如果使用物理机,我们不需要做任何配置,只需要安装Ubuntu16.04即可。如果没有物理机,我们就需要使用vmware安装Ubuntu 16.04
转载 2024-04-21 19:37:57
639阅读
34 writing efficient code 编写有效的代码 34.1 Memory 内存 本节介绍一些关键的内存考虑点,当在DPDK环境开发应用程序时。 34.1.1 Memory Copy: Do not Use libc in the Data Plane 内存拷贝:不要再数据面使用lic libc中的很多函数不是为性能设计的。例如 memcpy() 或 strcpy() 不应
当年在某公司实习的时候,当时老大给了我一份DPDK的文档,说是将来很有用,熟悉DPDK对能力提高也有帮助,就试着翻译了《Intel DPDK Getting Started Guide》和半个《Intel DPDK Programmers Guide》,后来忙着论文就没再搞了。现在,发现pf_ring的统计虚高了,只好重新拥抱DPDK了。DPDK的代码量还是很庞大的,分析代码之前理清库里面的各个部
DPDK将利用hugepage预留的物理内存统一的组织管理起来,然后以库的方式对外提供使用的接口。 rte_eal 是统一的组织管理者(当然rte_eal不只是做内存的工作); rte_malloc 对外提供分配释放内存的API,分配的内存都是rte_eal中管理的内存; rte_ring 提供无锁队列,他之间
  • 1
  • 2
  • 3
  • 4
  • 5