基于82573的网卡测试电鱼电子SAIL-IMX6Q开发板网卡性能

2019-03-07 09:37
49


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


Iperf的主要功能如下:


TCP

测量网络带宽

报告MSS/MTU值的大小和观测值

支持TCP窗口值通过套接字缓冲

P线程或Win32线程可用时,支持多线程。客户端与服务端支持同时多重连接


UDP

客户端可以创建指定带宽的UDP

测量丢包

测量延迟

支持多播

P线程可用时,支持多线程。客户端与服务端支持同时多重连接(不支持Windows


Iperf测试网卡的性能

使用82573做服务端,sail-imx6q做客户端。

测试单线程TCP

在服务端运行iperf,输入命令iperf –s –p 12345 –i 1 –M 以在本机端口12345上启用iperf


在客户端运行iperf,输入命令iperf –c
server-ip
–p
server-port
–i 1 –t 10 –w 20K,其中参数说明如下:

-c:客户端模式,后接服务器ip

-p:后接服务端监听的端口

-i:设置带宽报告的时间间隔,单位为秒

-t:设置测试的时长,单位为秒

-w:设置tcp窗口大小,一般可以不用设置,默认即可

测试后截图如下


                               客户端截图


                              服务端截图

其中:Interval表示时间间隔。Transfer表示时间间隔里面转输的数据量。Bandwidth是时间间隔里的传输速率。最后一行是本次测试的统计。测试可知带宽平均为425Mbit/s

2测试多线程TCP

在客户端添加-P参即可测试多线程的TCP性能,如下为使用两个线程的测试情况

测试后截图如下:


                                 客户端截图


                               服务端截图


3测试单线程UDP(默认带宽)

在服务端运行iperf,输入命令iperf –s -u –p 12345 –i 1 以在本机端口12345上启用iperf,并运行于udp模式

在客户端运行iperf,输入命令iperf -c server-ip -p server-port -i 1 -t 10 -b,其中参数说明如下:

-c:客户端模式,后接服务器ip

-p:后接服务端监听的端口

-i:设置带宽报告的时间间隔,单位为秒

-t:设置测试的时长,单位为秒

-b:设置udp的发送带宽,单位bit/s

测试后截图如下:


                                 客户端截图



                                服务端截图

其中,Jitter为抖动,lost/total为丢包数量,Datagrams为包数量。

4测试单线程UDP(带宽为100Mbit/s

设置客户端带宽为100M即可,使用参数-b指定

测试后截图如下:


                                客户端截图



                                服务端截图


5测试单线程UDP(带宽为1000Mbit/s

设置客户端带宽为1000M即可,使用参数-b指定

测试后截图如下:


                                 客户端截图



                                 服务端截图


6测试多线程UDP

与多线程TCP类似,只需要客户端使用-P参数指定线程个数即可

7测试UDP的双向传输

客户端使用参数-d以运行双测试模式,客户端会与服务端进行udp往返测试。可以使用-L参数指定本端双测试监听的端口。

测试后截图如下所示:


                           客户端截图


                          服务端截图

8测试UDP往复传输

与双向传输类似,使用参数-r以运行交互模式,仍然可以使用-L参数指定交互的端口。


                                客户端截图


                               服务端截图