4步讲解丨带你体验LS1046A网络性能

在上一期《OK1046A-C内存交互测试,小白也能看懂》中,笔者介绍了OK1046A-C内存部分的测试。本文中将针对于OK1046A-C的万兆网测试和网络转换方面,展示完整的测试过程。

 

测试工具介

1、Iperf工具介绍

Iperf是一个网络性能测试工具。可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。利用Iperf这一特性,可以用来测试一些网络设备如路由器、防火墙、交换机等的性能。

2、获取方式

wget https://github.com/esnet/iperf/archive/3.6.tar.gz

获得iperf压缩包

3、编译方法

因1046板卡自带iperf3测试程序,所以以下只是通用性的编译方法,本机并不需要。

解压iperf压缩包并进入编译目录

tar xvf 3.6.tar.gz && cd iperf-3.6/

   configure配置

    ./configure --host=arm-none-linux-gnueabi --prefix=`pwd`/install CC=arm-xxx-linux-gnueabi-gcc CFLAGS="-static"进行config


工具使用说明

像其它Linux工具一样,iperf3同样是支持-h/--help之类的命令,我们利用显示帮助看一下,如下图:

 

 

我们可以看到,这款软件分为客户端与服务端两部分,以-s 作为区分。

以下是Iperf3的参数介绍(此部分图片来源于网络)



板卡网口的介绍


OK1046A-C软件上网络部分存在两种配置:

§  配置1040支持的网络资源有XFI、RGMIIx2、QSGMII共计7个网口;

§  配置1133支持的网络资源有XFI、SFP+、RGMIIx2、SGMII 共计5个网口(修改硬件设计可以多支持一个SGMII网口),且板卡默认qspi的启动配置是1040。

以下是Linux系统中fm1-macN与RJ45的对应关系。

Serdess配置

Mac1

Mac3

Mac4

Mac5

Mac6

Mac9

Mac10

1040_5559

J29上

J26下

J26上

J28上

J28下

J5

J29下

1133_5559


J26下

J26上


J27下

  J5

J7

 



网络性能测试



万兆网口网络测试(J5)


测试环境对端为安装有万兆网卡的Linux主机(本测试中的主机eth1为万兆网卡,其IP地址为192.168.2.181,连接开发板万兆网口与Linux主机万兆网口)。

 

测试环境参数如下:

Linux host

192.168.2.181

OK1046A-C

192.168.2.182

 使用iperf进行打流测试,在同一局域网内的Linux主机上输入:

# ifconfig eth1 192.168.2.181

# iperf3

在OK1046A-C终端上输入以下命令:

root@localhost:~# ifconfig fm1-mac9 up

root@localhost:~# ifconfig fm1-mac9 192.168.2.182

root@localhost:~# echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

root@localhost:~# iperf3 -c 192.168.2.181 -i 5 -t 60

 



RGMII接口网络测试(J26上)


测试环境参数如下:

Linux Host

192.168.1.181

OK1046A-C

192.16.1.106

 在同一局域网内的Linux主机上输入:

# ifconfig eth0 192.168.1.181

# iperf3 -s

将网线插入fm1-mac4(J26上)口,输入以下命令进行测试:

root@localhost:~# ifconfig fm1-mac4 up

root@localhost:~# ifconfig fm1-mac4 192.168.1.106

root@localhost:~# echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

root@localhost:~# iperf3 -c 192.168.1.181 -i 5 -t 60

注意:根据Linux主机实际ip更改此处192.168.1.181


QSGMII接口网络测试(J29上)


测试环境参数如下:

Linux Host

192.168.1.181

OK1046A-C

192.168.1.106

 在同一局域网内的Linux主机上输入:

# ifconfig eth0 192.168.1.181

# iperf3 -s

将网线插入fm1-mac4(J26上)口,输入以下命令进行测试:

root@localhost:~# ifconfig fm1-mac1 up

root@localhost:~# ifconfig fm1-mac1 192.168.1.106

root@localhost:~# echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

root@localhost:~# iperf3 -c 192.168.1.181 -i 5 -t 60

注意:根据Linux主机实际ip更改此处192.168.1.181


测试结果


综上,笔者通过iperf灌包程序针对OK1046A-C的几个网口的带宽性能进行了测试,并得出了相应带宽数据。

经验证OK1046A-C千兆网上传带宽速度均达到940Mb/s左右,万兆网卡上传带宽为7Gb/s,符合一般情况下的网络使用。同时,iPerf仍然是一个非常方便的工具,它可以帮助你生成和检测udp/tcp的数据流量。

我们这里测试带宽上限只用到了其中很小的一部分,还有更多测试功能有待后续发掘。