最近使用iPerf有个小教训,简单记载引以为戒。


上周,豆子公司升级WAN宽带从20M到1G。光纤,SPF,交换机端口,VLAN, iBGP的设定等等都严格按照ISP的要求,最后升级完成以后,豆子做iPerf做了个网速测试。


在我看来,iperf的测试应该很简单,在一端机器上运行 ipferf.exe -s 监听,另外一端运行iperf.exe -c IPaddress,就行了。


测试的结果如下所示。豆子一看,尼玛,带宽怎么才100M?鉴于我们的ISP不太靠谱的历史记录,我的第一个反应就是ISP又在坑爹了。于是很气愤的联系老板和对方的客户经理,%¥##!#¥@, 一通牢骚之后,对方表示会安排工程师测试速度。


iPerf 测试网速的小教训_第1张图片



过了2天,测试结果出来了,网速没有问题。皮球又踢回给我。豆子挠挠头皮,这到底是哪里出错了?经过研究,最后发现,网速真的没有问题,有问题的是我的测试方式!!


iPerf可以进行多线程的并发测试,他默认的情况下只执行了一个线程,但是在带宽很大的情况下,完全达不到带宽的最大上限,这样导致iPerf给了一个错误的带宽值出来。当我同时执行几十个线程进行压力测试,真正的上限才显示出来。


比如说,对同一个服务器执行25个并发测试,最终显示的速度就是930M左右,这个才是真正的速度值。


iPerf 测试网速的小教训_第2张图片

iPerf 测试网速的小教训_第3张图片