用Iperf测试路由器的性能

测试单线程TCP

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

04f8bac0c1da33edf269fe53df13823c.png

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

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

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

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

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

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

测试后截图如下:

55e03f518620470ab5c117e4e87859b2.png

客户端截图

7d2aa7aee86f0d3e98372ede6a22697e.png

服务端截图

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

测试多线程TCP

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

f8ccd492b477799e002dc9626a73b637.png

客户端

f0b6e57fb129ae647ec39bb6f89926e1.png

测试单线程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

05b2f9929ea667399e121587abe7eb3c.png

客户端

da19b906524895ea58f758ef519a8cda.png

服务端

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

测试单线程UDP(带宽为10Mbit/s)

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

559acad0c9d65ecd69937504c3ca1f5a.png

客户端

10f1ad81ec7094e922fc802644583ccf.png

服务端

测试多线程UDP

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

测试UDP的双向传输

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

e3f7021bbb84476b42b1820457c6fc1e.png

客户端

a05dd7cacc5c8e37d4fda9eca0bccbc5.png

服务端

测试UDP往复传输

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

2d11299a901752c1b1de45f07faba3d0.png

客户端

e2836e08d0559037280316345b5dc229.png

服务端

分布式测试

使用多台电脑或使用一台电脑的多个IP地址测试。当使用一台电脑的多个iP地址测试时,可以使用-B命令绑定网卡的某一个ip地址以测试0b1331709591d260c1c78e86d0c51c18.png

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐