测试步骤
|
- 编译L3fwd测试用例。
- 启动运行L3fwd测试程序。
- 测试模型采用:
Traffic_Gen_Nic1->eth0-Test_Device-eth1->Traffic_Gen_Nic2
- 以双端口模式运行L3fwd:
./build/l3fwd -l 1,2,3,4,5,6,7,8 -n 4 -- -P -q 4 -p 0x3 --config=”(0,0,1),(0,1,2),(0,2,3),(0,3,4),(1,0,5),(1,1,6),(1,2,7),(1,3,8)” 其中 -p 0x3 表示使用绑定网口中的第一、二个口进行测试;-l lcore 指程序要用到的内核,之间用逗号隔开;-n NUM:十进制整数表示内存通道数量;-q 为每个端口开启的队列数;--config 配置端口及端口队列绑定对应的Cpu core;-l指定内核自行设置、-n 内存通道数可自行设置、--config可自行配置端口绑定CPU核、-q队列数自行可设。
- 用包发生器向被测试的设备端口注入单向流量,流量的包长为64B。包发生器发包的过程中逐包变化数据包的目的IP,构造不同的业务流量,通过测试仪表检测在丢包率设为0.001%情况下的网络吞吐,记录转发性能数据及平均时延;每条测试项丢包率不统一。
- 使用流程生成设备向被测设备的端口注入流量,将数据包大小换为128B、256B、512B,1024,1280,1518,重复执行上述步骤,设置CPU核数使被测设备直至取达到线速(或无法超越的某带宽最大值)的结果。
- 分别在ARM服务器平台和x86服务器平台重复以上步骤进行测试。
|
备注
|
- 考察对象:
- 考察单核最大网络处理性能。
- 考察多核最大网络处理性能,以及所需的核数比例(例如,8C/64C)。
- 测试:
./l3fwd -c 0xX –n X -- -q X -p 0xX –config=”(X,X,X),(X,X,X)”
- 参数解析:
- L3fwd [EAL options] -- -p --config(a,b,c)
- EAL options:
- DPDK EAL的默认参数,必须参数为-c COREMASK -n NUM。
- COREMASK:一个十六进制位掩码表示分配的逻辑内核数量。
- NUM:一个十进制整数表示内存通道数量。
- --: EAL命令行参数和程序运行参数分隔符
- -q:为每端口配置的队列数
- -p PORTMASK
- PORTMASK:一个十六进制位掩码表示分配的端口数量。
- -P 参数:(可选参数),开启混杂模式,开启后发任意目的mac地址包都能收到,不开启则端口只能收到目的mac地址为本端口mac地址的包。
- --config 配置端口及端口队列绑定对应的Cpu core
- 其中:a: 端口号,b:端口队列号, c:cpu core number
- 测试仪port1/5port 的目的IP 路由与网卡 port2 IP路由一致,形成双网口转发
|