当前位置: 首页 > news >正文

主要测试的测试用例

1. 内核态性能测试

# 测试要求# 测试用例步骤
0. 检查BIOS配置,确认设置满足场景要求(NUMA开启和关闭两种场景(海光平台覆盖channel/die),其余设置,请严格按照阿里招标参数BIOS出厂设置定制需求)
1.在被测端和辅助端,均执行ifconfig ethx mtu value(value取值 1500、1982、9000),且辅助端和被测端为两台不同的物理机,均安装相同版本的iperf工具,测试网线端口采用光纤/网线直连
2.从对应case目录获取安装iperf工具, 1)tar -zxvf iperf.3.6.tar.gz 2)cd iperf.3.6 3)./configure&&make&&make install
3.被测端和辅助端ip需要固化,被侧端port1:192.168.1.1/24 port2:172.16.1.1/24,辅助端port1:192.168.1.2/24 port2:172.16.1.2/24
4.TCP带宽测试4.1单端口测试:被侧端执行iperf3 -s -i 5 --forceflush 5|grep -i sum4.2单端口测试:辅助端执行 iperf3 -c 192.168.1.1 -t 100 -i 5 --forceflush 5 -P N |grep -i sum (N为port速率/10G取整+1,1G为1,10G为2,25G为3,40G为5、100G为11)4.3双端口并发测试:被侧端执行iperf3 -s -i 5 --forceflush 5 -p 4444|grep -i sum & iperf3 -s -i 5 --forceflush 5 -p 5555|grep -i sum4.4双端口并发测试:辅助端执行iperf3 -c 192.168.1.1 -t 100 -i 5 --forceflush 5 -P N -p 4444 |grep -i sum & iperf3 -c 172.16.1.1 -t 100 -i 5 --forceflush 5 -P N -p 5555 |grep -i sum(N为port速率/10G取整+1,1G为1,10G为2,25G为3,40G为5、100G为11)
5.UDP带宽测试5.1单端口测试:在被测端执行numactl --cpunodebind=netdev:ethx --membind=netdev:ethx iperf3 -s -i 5 --forceflush 5|grep -i sum5.2单端口测试:在辅助端执行 numactl --cpunodebind=netdev:ethx --membind=netdev:ethx iperf3 -u -c ip_addr -t 100 -i 5 --forceflush 5-P N -b 0|grep -i sum (N为port速率/10G取整+1,1G为1,10G为2,25G为3,40G为5、100G为11)5.3双端口并发测试:在被测端和辅助端,均执行numactl --cpunodebind=netdev:ethx --membind=netdev:ethx iperf3 -s -i 5 --forceflush 5|grep -i sum5.4双端口并发测试:在被测端和辅助端,均执行 numactl --cpunodebind=netdev:ethx --membind=netdev:ethx iperf3 -u -c ip_partner -t 100-i 5 --forceflush 5-P N -b 0|grep -i sum (N为port速率/10G取整+1,1G为1,10G为2,25G为3,40G为5、100G为11)
6.重复步骤1-5,直到取完所有mtu值,测试性能结果对比预期性能基线值
7.在被测端,执行ethtool -S ethx |grep -iE "err|fail|drop|lost">ethx_ethtool.txt,每个被测网口都需要遍历
8.在被测端,执行lspci -vvv -s 1a:00.0|grep -E "UESta|UEMsk|CESta|CEMsk">ethx_lspci.txt,每个被测网口都需要遍历。
9.在被测端执行,dmesg|grep -E "BDF|Driver_Name" |grep -iE "fail|err|warn|unsupport" > ethx_dmesg.txt,每个被测网口都需要遍历。# PASS标准
1.测试过程网络带宽平稳,无抖动 2.网络带宽/latency平均值符合网卡理论数值 3.测试过程中丢包率低于1% 4.测试过程中无相关错误信息报出

2. Bond mode=4 功能和性能测试

# 要求# 测试用例步骤
0. 检查BIOS配置,确认设置满足场景要求(NUMA开启和关闭两种场景(海光平台覆盖memoryinterleving=channel/die),其余设置,请严格按照阿里招标参数BIOS出厂设置定制需求)
1.在被测端和辅助端,均执行ifconfig ethx mtu value(value取值 1500、1982、9000),且辅助端和被测端为两台不同的物理机,均安装相同版本的iperf工具,测试网线端口采用光纤/网线直连
2.从对应case目录获取安装iperf工具, 1)tar -zxvf iperf.3.6.tar.gz 2)cd iperf.3.6 3)./configure&&make&&make install
3.将网卡双口组bond4,nmcli device #列出所有网口状态 nmcli connection delete ens23f0np0 #删除配置bond4的原网口配置nmcli connection delete ens23f1np1 #删除配置bond4的原网口配置nmcli connection add con-name bond0 ifname bond0 type bond mode 4 #添加bond4的网口配置,网口名设置为bond0nmcli connection add type bond-slave ifname ens23f0np0 master bond0 #添加bond4的slave网口1配置nmcli connection add type bond-slave ifname ens23f1np1 master bond0 #添加bond4的slave网口2配置nmcli connection modify bond0 ipv4.method manual ipv4.address 1.1.1.1/24 ipv4.gateway 1.1.1.254 #设置bond的网口ipnmcli connection up bond-slave-ens23f0np0 #设置bond4的slave网口1 up nmcli connection up bond-slave-ens23f1np1 #设置bond4的slave网口2 upnmcli connection down bond0 #设置bond网口down nmcli connection up bond0 #设置bond网口upnmcli device #列出所有网口状态 cat /proc/net/bonding/bond0 #查看bond模式,为IEEE 802.3ad Dynamic link aggregation即为bond4
4.安装iperf3工具,并在被测端和辅助端,均执行ifconfig ethx(网口名) mtu value(value取值 1500, 1982, 9000),并通过ip a查看该网口的mtu值。
5.TCP单向带宽测试 5.1在被测端执行iperf3 -s -i 5 --forceflush 5 5.2在辅助端执行 iperf3 -c $ip_addr(被测机ip) -t 100 -i 5 --forceflush 5 -P $N (N为port速率/10G取整+1,10G为2,25G为3,40G为5、100G为11)
6.UDP单向带宽测试(40G以上网卡不测试)6.1在被测端执行iperf3 -s -i 5 --forceflush 5|grep -i sum6.2在辅助端执行iperf3 -u -c ip_addr -t 100 -i 5 --forceflush 5-P N -b0|grep -i sum (N为port速率/10G取整+1,10G为2,25G为3,40G为5、100G为11)
7.TCP双向带宽测试7.1在被测端和辅助端均执行iperf3 -s -i 5 --forceflush 57.2在被测端和辅助端均执行 iperf3 -c $ip_addr(被测机ip) -t 100 -i 5 --forceflush 5 -P $N (N为port速率/10G取整+1,10G为2,25G为3,40G为5、100G为11)
8.UDP双向带宽测试(40G以上网卡不测试)8.1在被测端和辅助端均执行 iperf3 -s -i 5 --forceflush 5|grep -i sum8.2在被测端和辅助端均执行 iperf3 -u -c ip_addr -t 100 -i 5 --forceflush 5-P N -b 0|grep -i sum (N为port速率/10G取整+1,10G为2,25G为3,40G为5、100G为11)
9.重复步骤4-6,直到取完所有mtu值(1500,1982,9000)
10.在被测端,执行ethtool -S ethx |grep -iE "err|fail|drop|lost"。
11.在被测端,执行lspci -vvv -s 1a:00.0(测试网卡的BDF号)|grep -E "UESta|UEMsk|CESta|CEMsk"。
12.在被测端,执行dmesg|grep -Ei "BDF(测试网卡的BDF号)|Driver_Name(测试网卡的驱动名称)" |grep -iE "fail|err|warn|unsupport"。
13.在被测端,执行ifconfig $网口名,查看是否有 rx drop 和 tx drop,并截图,如有大量丢包,请排查原因"# PASS标准
1.测试过程网络带宽平稳,无抖动 2.网络带宽/latency平均值符合网卡理论数值 3.测试过程中丢包率低于1% 4.测试过程中无相关错误信息报出

3 网卡的DPDK性能测试

# 要求# 测试用例步骤
一、DPDK工具安装:
1、获取源码包https://fast.dpdk.org/rel/(使用21.11版本)
2、配置DPDK测试环境(1) 修改环境python ≥ 3.6(2) 安装Re2c,下载链接:https://github.com/skvadrik/re2c/archive/refs/tags/2.2.tar.gz(3) 安装Ninja,下载链接:https://github.com/ninja-build/ninja/archive/refs/tags/v1.12.1.tar.gz(4) 安装Meson
3、解压dpdk源码包 tar -xvf dpdk-21.11.5.tar.xz cd dpdk-stable-21.11.5/
4、执行以下命令编译并安装DPDK meson setup build cd build ninja ninja install ldconfig DPDK性能测试: (numa默认开,需遍历绑核及不绑核两种场景,numa设置请参照本sheet顶部设置 )1、配置大页内存 #查看当前环境支持的NUMA Node个数,根据NUMA Node数为每个Node预留大页内存 numactl -H #查看系统支持的大页类型 ll /sys/kernel/mm/hugepages/#打开“/etc/default/grub”文件 vi /etc/default/grub #修改系统启动项,预留大页 ,预留16个1G大页,总共16G。在GRUB_CMDLINE_LINUX行最后加上: default_hugepagesz=1G hugepagesz=1G hugepages=16 #生成系统grub并重启系统使配置生效 grub2-mkconfig -o /boot/efi/EFI/openeuler/grub.cfg #确认是否配置成功,若回显信息中显示已配置的大页数量为16,则预留大页配置成功 cat /proc/meminfo | grep -i huge#挂载大页 mkdir -p /mnt/huge_1gb mount -t hugetlbfs none /mnt/huge_1gb -o pagesize=1GB2、接管内核态网口(mellonx网卡不需要)#加载内核驱动模块 modprobe vfio modprobe vfio-pci #绑定被测网口用户态,用于DPDK转发。首先获取网口PCI地址,可以使用DPDK源码“usertools/dpdk-devbind.py”脚本进行查看,以及进行接口绑定工作 查看待绑定接口信息 dpdk-devbind.py -s#查看端口状态,接管链路状态up的端口 ethtool enp125s0f1 #绑定用于DPDK转发的网口,此处以绑定0000:7d:00.1网口为例,使用时以查询到的待绑定的网口为准 dpdk-devbind.py --bind=vfio-pci 0000:7d:00.1#查看端口是否成功绑定 dpdk-devbind.py -s3、运行DPDK dpdk-testpmd -l 5,6 -n 8 --force-max-simd-bitwidth=512 -a 0000:31:00.0 -a 0000:4b:00.0 -- -i --portmask=0x3 --rxq=1 --txq=1 --txd=Maxtx --rxd=Maxtx -txpkts=64 -rxpkts=64 --forward=io -a (-txpkts=64、128、256、512、1024;-rxpkts=64、128、256、512、1024)rxd txd Max查看方式:ethtool -g eth0命令解析: -l 5,6: 指定使用的核心列表。这里指定了逻辑核心 5 和核心 6,用于运行 testpmd。-n 8: 指定内存通道的数量--force-max-simd-bitwidth=512: 强制指定最大 SIMD(Single Instruction Multiple Data)指令集的位宽为 512 位。这通常用于优化性能,确保使用 AVX-512 指令集(如果硬件支持)-a 0000:31:00.0 和 -a 0000:4b:00.0: 指定要绑定到 DPDK 的 PCI 设备地址。示例:-a 0000:31:00.0 和 -a 0000:4b:00.0 分别表示两个网卡设备的 PCI 地址-- -i: 启动交互模式(Interactive Mode),允许用户在运行时输入命令--portmask=0x3: 指定使用的网卡端口掩码。示例:--portmask=0x3 表示使用端口 0 和端口 1(二进制为 00000011)--rxq=1: 设置每个端口的接收队列(RX Queue)数量为 1。--txq=1: 设置每个端口的发送队列(TX Queue)数量为 1。--txd=Maxtx: 设置每个发送队列的描述符数量为最大值。Max查看方式:ethtool -g eth0--rxd=Maxtx: 设置每个接收队列的描述符数量为最大值。Max查看方式:ethtool -g eth0-txpkts=64:-txpkts=64、128、256、512、1024,遍历五种包大小 设置发送数据包的分段大小为 64 字节。-rxpkts=64:-rxpkts=64、128、256、512、1024,遍历五种包大小 设置接收数据包的分段大小为 64 字节。--forward=io: 设置转发模式为基本 IO 转发(Input/Output Forwarding)。在此模式下,接收到的数据包会直接从接收端口转发到发送端口。交互模式下:start:开始数据包转发。stop:停止数据包转发。quit:退出 testpmd。set fwd <mode>:设置数据包转发模式。常见模式包括:io:基本的输入输出转发。mac:基于 MAC 地址转发。rxonly:仅接收数据包,不转发。txonly:仅发送数据包,不接收。flowgen:生成流量并转发。show port stats all: 显示所有端口的流量统计信息(接收和发送的包数、字节数等) 具体参数请根据实际配置调整# PASS标准
一、 1、dpdk安装成功,系统日志无相关error 二、 1、该网口已正确被驱动,ifconfig不显示该网口 2、测试过程无相关错误信息报出 3、测试结果与基线对比,结果需在正负10%以内
http://www.hskmm.com/?act=detail&tid=15394

相关文章:

  • 详细介绍Seata的AT模式分布式事务
  • VMware VeloCloud 漏洞分析:未授权远程代码执行全链条攻破
  • 【GitHub每日速递 250924】18 个 AI 投资大师齐上阵!这个开源对冲基金让你看透市场底牌
  • HJ9 提取不重复的整数
  • 2025年国家科技奖初评公布(科技进步奖)
  • 2025年国家科技奖初评公布(科技发明奖)
  • 12
  • 2025年国家科技奖初评公布(自然科学奖)
  • 近端策略优化算法PPO的核心概念和PyTorch实现详解
  • JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
  • Memento:基于记忆无需微调即可让大语言模型智能体持续学习的框架
  • 记录一次附加属性失效全过程
  • Java 与物联网(IoT):边缘计算与智能终端应用
  • 为你的数据选择合适的分布:8个实用的概率分布应用场景和选择指南
  • AI 落地应用最新工具集
  • 台风呢
  • Day07-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\David\method-Demo041比较难
  • Markdown基本与阿法
  • 对称二叉树
  • 一例电动车充电器防反接电路分析
  • isEmpty/isNotEmpty/isNotBlank/isBlank-isAnyEmpty/isNoneEmpty/isAnyBlank/isNoneBlank
  • NetCore+Web客户端实现gRPC实时推送
  • 个人项目-论文查重
  • 个人项目作业
  • 软工第二次作业--王腾
  • 牛客周赛 Round 110 E,F题解
  • 第5章:路由(Routing)与直连交换机(Direct Exchange)
  • 搜索百科(4):OpenSearch — 开源搜索的新选择
  • JAVA的计算方式
  • 安装 elasticsearch-9.1.4 - 集群 和 kibana-9.1.4