1.测试背景

由于项目中需要用到dpdk,当时在服务器平台选型上有如下2种不同配置可供选择,为了理解老的Xeon处理器和Xeon金牌处理器对DPDK转发性能的影响,需要在两台服务器上分别进行DPDK l3fwd性能转发测试。

服务器名称

主要配置

Server01

Processor:Xeon E5-2680V4 (28 cores,2.4GHz) * 2

Memory:128GB over 8Channels @2400MHz

NICs:Intel X710-DA4

Server02

Processor:Xeon Gold 5118 (24 cores,2.3GHz) * 2

Memory:128GB over 8Channels @2400MHz

NICs:Intel X710-DA4

2.测试方法

采用如下拓扑进行测试,测试仪的4个10GE端口连接X710-DA4的4个接口,测试时测试仪的4个端口同时打流,经过服务器DPDK转发后分别从X710-DA4网卡的不同接口送出,在测试仪的4个端口查看是否有丢包。在无丢包的情况下测试仪端口打流的最大速率即为服务器端DPDK能够提供的最大转发能力,以MPPS为单位。

图片2.png

3.测试步骤

(1) 在服务器上运行dpdk

./examples/l3fwd/x86_64-native-linux-gcc/l3fwd -l 4,6,8,10 -n 4 -w 0000:04:00.0 -w 0000:04:00.1 -w 0000:04:00.2 -w 0000:04:00.3 -- -p 0xf --config="(0,0,2),(1,0,4),(2,0,6),(3,0,8)"

运行l3fwd前有一些准备工作:

配置BIOS选项

CPU Power and Performance Policy

CPU C-state Disabled

CPU P-state Disabled

Enhanced Intel® Speedstep® Tech Disabled

Turbo Boost Disabled

Intel VT Fordirected I/O(VT-d) Enable

Intel Virtualization Technology (VT-x) Enable

上述是DPDK官方的性能测试报告中建议的BIOS配置,在实际测试用我没有修改CPU C-state和P-state,并关闭了超线程的功能。

启动设置

在/etc/default/grub中GRUB_CMDLINE_LINUX项后添加

default_hugepagesz=1G hugepagesz=1G hugepages=16 intel_iommu=on

iommu=pt

重新生成grub.cfg文件(运行后重启服务器)

grub2-mkconfig -o /boot/grub2/grub.cfg

挂载hugepage

mkdir /mnt/huge

mount -t hugetlbfs nodev /mnt/huge

检查X710-DA4网卡对应的PCIe总线号

lshw -C network -businfo

Bus info Device Class Description

=========================================================

pci@0000:04:00.0 p6p1 network Ethernet Controller X710 for 10GbE SFP+

pci@0000:04:00.1 p6p2 network Ethernet Controller X710 for 10GbE SFP+

pci@0000:04:00.2 p6p3 network Ethernet Controller X710 for 10GbE SFP+

pci@0000:04:00.3 p6p4 network Ethernet Controller X710 for 10GbE SFP+

查看网卡对应的NUMA

cat /sys/bus/pci/devices/0000\:04\:00.0/numa_node

0

也可以通过cat /sys/class/net/p6p1/device/numa_node查看

用lscpu查看哪些CPU属于对应的NUMA

Architecture: x86_64

CPU op-mode(s): 32-bit, 64-bit

Byte Order: Little Endian

CPU(s): 28

On-line CPU(s) list: 0-27

Thread(s) per core: 1

Core(s) per socket: 14

Socket(s): 2

NUMA node(s): 2

Vendor ID: GenuineIntel

CPU family: 6

Model: 79

Model name: Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz

Stepping: 1

CPU MHz: 1200.000

CPU max MHz: 3300.0000

CPU min MHz: 1200.0000

BogoMIPS: 4799.92

Virtualization: VT-x

L1d cache: 32K

L1i cache: 32K

L2 cache: 256K

L3 cache: 35840K

NUMA node0 CPU(s): 0,2,4,6,8,10,12,14,16,18,20,22,24,26

NUMA node1 CPU(s): 1,3,5,7,9,11,13,15,17,19,21,23,25,27

在上述操作完成后便可以知道dpdk运行时应该设置参数。

(2)测试仪打流

在l3fwd运行起来后,会添加192.18.0.0/24、192.18.1.0/24、192.18.2.0/24、192.18.3.0/24四个网段的路由,因此在测试仪端4个端口设置流的时候需要将流的目的IP地址分别设置为上述4个网段的地址,流的目的MAC地址设置为对应接口的MAC地址。

4.测试结果

图片3.png

上述的DUT2对应Server01,DUT3对应Server02,DUT1的性能数据和配置是从DPDK的性能测试报告中拿到的。DUT1、DUT2和DUT3的配置对比如下。

服务器名称

主要配置

DUT1

Processor:Xeon Platinum 8180 (56 cores,2.5GHz)

Memory:96GB over 12Channels @2666MHz

NICs:Intel X710-DA4

DUT2

Processor:Xeon E5-2680V4 (28 cores,2.4GHz) * 2

Memory:128GB over 8Channels @2400MHz

NICs:Intel X710-DA4

DUT3

Processor:Xeon Gold 5118 (24 cores,2.3GHz) * 2

Memory:128GB over 8Channels @2400MHz

NICs:Intel X710-DA4

从测试结果可以看出,DUT3上运行DPDK就能够实现64字节数据包的线速转发。对比DUT2和DUT3的转发性能可以看出,基于 Xeon Gold 5118处理器的平台相比老的Xeon处理器平台,转发性能是有一定提升的。

当然,从我个人的理解来看,现在的转发测试只是测4条路由表的情况,路由表均能够存放到处理器的一级cache中,没有大规模内存访问的压力。如果有大规模的路由表或者服务器上多个网卡同时收发数据,并且涉及到跨网卡之间的数据包转发,当前的服务器能否实现性能的线性扩展还需要后面进一步测试。

l3fwd 是什么_服务器DPDK l3fwd性能测试相关推荐

  1. DPDK l3fwd

    DPDK l3fwd l3fwd负责三层转发,比l2fwd要复杂点. 1 /*- 2 * BSD LICENSE 3 * 4 * Copyright(c) 2010-2014 Intel Corpor ...

  2. 外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站

    外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站 之前在CentOS虚拟机上安装了LAMP,搭建起了自己的web服务器,具体流程见: http://www.lin ...

  3. 性能测试服务器集群,刀片式服务器集群性能测试与优化技术研究

    摘要: 本文描述的是针对刀片式服务器集群的性能测试与优化技术研究.本文介绍了刀片式服务器集群的构成和工作原理,刀片式服务器集群性能测试的意义,方法和工具,论述了刀片式服务器集群性能测试过程和不同方面的 ...

  4. 云服务器代理_虚拟主机代理_服务器代理-谈谈IDC加盟合作那些事!

    云服务器代理_虚拟主机代理_服务器代理-谈谈IDC加盟合作那些事! 在互联网和大数据时代,云服务器简单高效.安全可靠,弹性扩展,节省IT运维成本等优势受到客户青睐:无论是企业还是个人应用,越来越多的I ...

  5. dpdk l3fwd/l2fwd实验

    目录 1 l3fwd 1.1 组网配置 1.2 运行结果 2 l2fwd 2.1 组网配置 2.2 运行结果 1 l3fwd 1.1 组网配置 vmware启动上三个host:host1.host2. ...

  6. 服务器cpu性能如何测试,CPU性能测试(1)_服务器评测与技术-中关村在线

    在测试之前,我们有必要交代下这次测试的操作系统环境.通过缓存为512MB的LSI MegaRAID 2208 SAS阵列卡,对四块300GB 15K转速的SAS硬盘组建RAID5,在此基础上我们选择了 ...

  7. 浪潮服务器性能测试,内存、IO子系统性能测试_浪潮服务器_服务器评测与技术-中关村在线...

    内存性能测试 浪潮NF5280M4服务器主板集成了24个内存插槽,送测机型配置8根8GB DDR3内存.由于送测机型整合了四通道内存控制器,这样使得平台的内存带宽得到了明显的提升. 内存规格 内存规格 ...

  8. 戴尔r730服务器性能,磁盘系统IO性能测试:极致稳定_戴尔 PowerEdge R730 机架式服务器(Xeon E5-2603 V3/8GB/1.2TB)_服务器x86服务器-中关村在线...

    磁盘系统IO性能测试:极致稳定 这款戴尔PowerEdge R730服务器配置3块英特尔 SSD DC S3610系列SATA接口的硬盘,采用IOmeter2006.07.27版本来测试磁盘系统的最大 ...

  9. 戴尔服务器测试系统,内存、IO子系统性能测试_戴尔服务器_服务器评测与技术-中关村在线...

    内存性能测试 戴尔R730服务器主板集成了24个内存插槽,送测机型配置10根16GB DDR4内存.由于送测机型整合了四通道内存控制器,这样使得平台的内存带宽得到了明显的提升. 内存规格 内存规格说明 ...

最新文章

  1. 编写矩形类 计算矩形面积
  2. 好玩的东西,测试一下
  3. 计算机全球服务器,云计算的宿命:全球合并成一台计算机,支持无服务器运行...
  4. 数据蒋堂 | 迭代聚合语法
  5. FastDFS_install_document_detail
  6. 对象 普通po转_厦门2020年转学怎么转?需要什么材料?你想知道的答案都在这!......
  7. 专访雷果国:从1.5K到18K 一个程序员的5年成长之路
  8. 关于如何控制一个页面的Ajax读数据只读一次的简单解决办法!
  9. 更新管理器_Win10设备管理器失去了通过互联网更新驱动程序的能力
  10. 虚电路网络和数据报网络
  11. JAVA实战小项目——图书馆管理系统
  12. android adb模拟鼠标滚动,adb shell 模拟鼠标导入通讯录
  13. python中文近义词工具_python同义词替换-python中文近义词-python判断筛选同义词
  14. python传奇自动打怪脚本_大漠传奇自动打怪源码分享
  15. AF(操作者框架)系列(1)-LabVIEW中的模块化应用概述
  16. 空间后方交会编程c语言,C语言空间后方交会源代码.doc
  17. 二,变量(variable)
  18. 什么软件能测试gps高度,‎App Store: GPS海拔测量仪-实时高度测量海拔表
  19. 企业如何进行数字化管理?
  20. 锐捷设备AC虚拟化(VAC)

热门文章

  1. 视频编解码的理论和实践2:Ffmpeg视频编解码
  2. 页面可视化搭建工具前生今世
  3. 758.6G每秒:阿里云成功防御国内最大规模Memcached DDoS反射攻击
  4. 一个AndroidStudio项目的目录
  5. UIButton的重复点击
  6. linux wget命令详解
  7. 微服务网关解决方案调研和使用总结 专题
  8. RabbitMQ探索:结构分析与常用方法解释
  9. Android ActionBar完全解析,使用官方推荐的最佳导航栏(下) .
  10. C# 的关键字系列 (3 of n)