【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB

Iperf 以太网测试 For LS1043ARDB

简介

Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。

一、开发板安装 Iperf 工具

  • 编译 iperf 工具
Flex-builder -c iperf -a arm64                // 编译 iperf 工具
or
flex-builder -c apps -a arm64                // 编译所有 app 工具

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB

  • 打包工具
flex-builder -i packapps -a arm64

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB
打包成功后会在 ./build/images 目录下生成一个 app_components_LS_arm64.tgz 压缩包
【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB

  • 将压缩包发送开发板,方法有很多种,可以使用 scp、wget 或是直接复制到 SD 卡都行,这里我是直接使用 cp 命令复制到 SD 卡的 system 盘中,也就是开发板的根目录中,然后解压:
tar –xf app_components_LS_arm64.tgz

注意:解压时可能会遇到 tar: Error is not recoverable: exiting now 问题的,可能是传输时文件损坏了,可以使用 ls -lh 命令来查看是否损坏了,如果是的话可以重新传输,使用 cp 命令时等一会等待文件传输完成。

4.安装 iperf 工具,解压后重启开发板就可以了

reboot

二、组建局域网

使用 iperf 测试端口的吞吐量前提是两台机器之间能相互 ping 通,两台机器可以是两台开 发板、开发板和 windows 电脑或是开发板和虚拟机 Ubuntu ,要想正确的测试端口吞吐量性 能,就需要比这个端口性能更高的端口来测试,这里使用的是 LS1043ARDB 开发板和我的虚 拟机 Ubuntu 18.04
1.给开发板分配 IP 地址
【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB
通过表格我们可以知道每个端口的名字,接下来我们以 QSGMII.P0 为例:
查看开发板 IP 并给开发板分配 IP 地址

ifconfig –a

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB
给 fm1-mac1 分配 IP 地址

ifconfig fm1-mac1 192.168.1.100              // 给 fm1-mac1 端口分配IP 地址
ifconfig fm1-mac1 up                         // 开启 fm1-mac1 端口
ifconfig fm1-mac1 down                      // 关闭 fm1-mac1 端口

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB
2. 给虚拟机分配 IP 地址
先要对虚拟机网络进行设置选择桥接有线网卡方式
【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB
网卡的选择可以通过电脑端查看
【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB
设置完后查看 Ubuntu 的 IP 地址,并分配和开发板同网段的 IP 地址

ifconfig
ifconfig enp0s3 192.168.1.101

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB
3. 开发板 ping 虚拟机

ping 192.168.1.101

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB
虚拟机 ping 开发板

ping 192.168.1.100

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB
相互之间能够 ping 通则可以开始使用 iperf 测试

三、使用 Iperf 测试

1.虚拟机作为服务器,开发板作为客户端进行一个最简单的测试

dana@dana:~$ iperf -s

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB

root@localhost:~# iperf -c 192.168.1.101

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB
注意:Iperf 客户端连接 Iperf 服务器的 TCP 默认端口 5001,否则我们可以用 –p 参数修 改 Iperf 服务器的端口,客户端与服务器必须加上同样的端口。结果显示的带宽是从用户到 服务器之间的带宽

2.双向带宽测试

dana@dana:~$ iperf -s

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB

root@localhost:~# iperf -c 192.168.1.101 -r

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB
注意:-r 参数可以量度双向带宽,Iperf 服务器会主动向客户端发起连接。

3.TCP 窗口大小

dana@dana:~$ iperf -s -w 3000

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB

root@localhost:~# iperf -c 192.168.1.101 -w 1500

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB
注意:在连接中,如果接收方来不及验证,数据会暂时被存在一个缓冲区里,这个缓冲区的上限就是所谓的 TCP 窗口大小,窗口的大小可以在 2 到 65,535 bytes 之间

4.UDP 测试

dana@dana:~$ iperf -s -u -i 1

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB

root@localhost:~# iperf -c 192.168.1.101 -u -b 100M

【NXP DN 系列】Iperf 以太网测试 For LS1043ARDB
注意:良好的连接质量,数据包的丢失率要小于 1%,数据包的丢失率过高会导致许多 TCP 数据报需要重传,从而影响带宽。Jitter 代表的是延时变化,并不依赖于延时本身,你可能拥有很长的反应时间,但是 Jitter 却很低。

5.按照这个步骤依次对其他六个端口进行测试发现四个 QSGMII 端口和两个 RGMII 端口测的都是 950 Mbits/sec 左右,但是对 10 G 端口测的是 95 Mbits/sec 左右,因为我电脑的端口是千兆网口理论上限制网络吞吐量也应该是 1G 左右,可能是电脑的千兆网口影响了测试结果,需要更高性能的设备来验证。

注:

未经本人允许,不得转载!谢谢!

上一篇:iperf网络测试工具


下一篇:【飞凌和你测评】NXP LS系列产品网络性能测试