【DPDK】DPDK1911+板载万兆网卡包转发性能测试
【DPDK】DPDK1911+板载万兆网卡包转发性能测试案例
1 软硬件配置
类别 | 子项 | 版本 |
硬件 | CPU | Kunpeng 920 |
网络 | 板载灵活网卡-25GE/10GE光口-4端口-SFP28 | |
存储 | SATA 4T | |
OS | CentOS | 7.6 |
Kernel | ||
软件 | DPDK | 19.11 |
GCC | 7.3 |
2 组网配置
1、 DPDK包转发性能测试,采用服务器和发包工具(例如TC或IXIA设备)直连的方式进行测试。
2、 服务器配置支持DPDK特性的网卡。
3 编译安装
3.1 依赖安装
步骤 1 配置yum。 以root用户登录Linux系统,将CentOS系统镜像挂载到物理光驱或者虚拟光驱,并执行如下命令: #mount /dev/sr0 /mnt 若已将CentOS的iso镜像传到了Linux系统本地了,可以执行如下命令: #mount -o loop /root/ CentOS-7-aarch64-Everything-7.6.iso /mnt 手动编写yum源所需的文件: vi /etc/yum.repos.d/cdrom.repo [cdrom] name=cdrom baseurl=file:///mnt enabled=1 gpgcheck=0 步骤 2 用yum安装依赖包 1) DPDK程序依赖numa库和kernel-devel库,如果已经安装可以忽略,没有安装需要进行安装。 2) 编译DPDK19.11版本需要gcc5.0及以上版本,本文推荐使用gcc7.3.0 yum install -y *gcc* yum install -y *glibc* yum install -y *stdc* yum install –y *gfortran* yum install –y m4 yum install -y numactl* yum install -y automake 步骤 3 安装结束,卸载光驱。 #umount /mnt |
3.2 DPDK编译安装
1、 登录官网 http://core.dpdk.org/download/ ,下载DPDK19.11版本并解压到/hme目录,打开/home/dpdk-19.11./config/common_base文件中的板载网卡PMD驱动开关: Line 286: # Compile burst-oriented HNS3 PMD driver Line 288: CONFIG_RTE_LIBRTE_HNS3_PMD=y 2、配置环境变量 export RTE_SDK=/home/dpdk-19.11 (以当前环境DPDK源码实际路径为准) export RTE_TARGET= arm64-armv8a-linuxapp-gcc (以当前环境CPU架构为准) 3、 在当前DPDK源码目录下编译DPDK: make install T=$RTE_TARGET -j 16 |
4 包转发性能测试
4.1 大页内存配置
arrch64 CentOS7.6系统默认内核支持2M和512M大页。使用大页有助于整体性能的提升。最大支持1G大页,可以通过升级内核获取更大的页支持。下面以512M大页为例,根据实际情况开启所需的大页数量:
1、设置大页数量: echo 64 > /sys/kernel/mm/hugepages/hugepages-524288kB/nr_hugepages
2、查看各结点大页分数: cat /sys/devices/system/node/node*/meminfo |grep -i huge
或者执行脚本./usertools/dpdk-setup.sh 选择其中的选项49:设置大页,让每个numa node均分同样的大页数量
|
4.2 绑定网卡到DPDK用户态
注意:网卡绑定前,请确保网卡对应驱动已升级到新版本。
可参考support网站用户指南的网卡驱动升级指导:https://support.huawei.com/enterprise/zh/doc/EDOC1100118649?idPath=7919749|9856522|9856629|250697162
1、 加载驱动模块 modprobe vfio modprobe vfio-pci 执行脚本 ./usertools/dpdk-setup.sh 选择其中的选项53:增加VFIO permission 2、查看和绑定网卡接口: ./usertools/dpdk-devbind.sh -s #查看状态,获取网口pci地址 ./dpdk-devbind.py --bind=vfio-pci 0000:bd:00.0 0000:bd:00.1 #绑定指定网口,下图是示例图,请根据实际情况绑定对应网口的pci地址。绑定前网口在内核态,绑定后在DPDK用户态。 备注:使用VFIO需要BIOS开启SMMU |
4.3 运行DPDK
附加testpmd参数说明:
-l | 指定参与转发的CPU核 | ||
-n | 指定系统内存通道个数 | ||
-w | 指定参与DPDK转发的网口的PCIE地址 | ||
--rxd/txd | 指定转发使用的网口队列深度 | ||
--txq/rxq | 指定参与转发的网卡队列数 | ||
--nb-cores | 指定实际参与转发的cpu核数 | ||
-i | 交互模式启动程序 |
testpmd详细说明可参考:
https://software.intel.com/en-us/articles/testing-dpdk-performance-and-features-with-testpmd
http://doc.dpdk.org/guides/testpmd_app_ug/index.html
- 点赞
- 收藏
- 关注作者
评论(0)