Iperf有兩種版本,windows版和linux版本。linux版本更新快,最新版本為iperf 3.0,下載地址為http://code.google.com/p/iperf/downloads/list ,windows版本官方更新的最新版本為1.7(打包在jperf中),下載地址為:
http://sourceforge.net/projects/iperf/files/jperf/jperf%202.0.0/
Iperf的主要功能如下:
TCP
測量網(wǎng)絡(luò)帶寬
報告MSS/MTU值的大小和觀測值
支持TCP窗口值通過套接字緩沖
當(dāng)P線程或Win32線程可用時,支持多線程??蛻舳伺c服務(wù)端支持同時多重連接
UDP
客戶端可以創(chuàng)建指定帶寬的UDP流
測量丟包
測量延遲
支持多播
當(dāng)P線程可用時,支持多線程??蛻舳伺c服務(wù)端支持同時多重連接(不支持Windows)
其他
在適當(dāng)?shù)牡胤?,選項中可以使用K(kilo-)和M(mega-)。例如131072字節(jié)可以用128K代替。
可以指定運行的總時間,甚至可以設(shè)置傳輸?shù)臄?shù)據(jù)總量。
在報告中,為數(shù)據(jù)選用最合適的單位。
服務(wù)器支持多重連接,而不是等待一個單線程測試。
在指定時間間隔重復(fù)顯示網(wǎng)絡(luò)帶寬,波動和丟包情況。
服務(wù)器端可作為后臺程序運行。
服務(wù)器端可作為Windows 服務(wù)運行。
使用典型數(shù)據(jù)流來測試鏈接層壓縮對于可用帶寬的影響。
支持傳送指定文件,可以定性和定量測試
Iperf使用方法
安裝Iperf
對于windows版的Iperf,直接將解壓出來的iperf.exe和cygwin1.dll復(fù)制到%systemroot%目錄即可
對于linux版的Iperf,請使用如下命令安裝
gunzip -c iperf-.tar.gz | tar -xvf –
cd iperf-
./configure
make
make install
使用Iperf(以windows版本為例)
在命令提示符中輸入iperf命令即可運行Iperf,使用命令I(lǐng)perf –help可以查看iperf的幫助
測試單線程TCP
在服務(wù)端運行iperf,輸入命令iperf –s –p 12345 –i 1 –M 以在本機(jī)端口12345上啟用iperf
在客戶端運行iperf,輸入命令iperf –c server-ip –p server-port –i 1 –t 10 –w 20K,其中參數(shù)說明如下:
-c:客戶端模式,后接服務(wù)器ip
-p:后接服務(wù)端監(jiān)聽的端口
-i:設(shè)置帶寬報告的時間間隔,單位為秒
-t:設(shè)置測試的時長,單位為秒
-w:設(shè)置tcp窗口大小,一般可以不用設(shè)置,默認(rèn)即可
測試后截圖如下:
客戶端
服務(wù)端
其中:Interval表示時間間隔。Transfer表示時間間隔里面轉(zhuǎn)輸?shù)臄?shù)據(jù)量。Bandwidth是時間間隔里的傳輸速率。最后一行是本次測試的統(tǒng)計。測試可知帶寬平均為89.9Mbit/s。
測試多線程TCP
在客戶端添加-P參即可測試多線程的TCP性能,如下為使用兩個線程的測試情況
客戶端截圖
服務(wù)端截圖
測試單線程UDP(默認(rèn)帶寬)
在服務(wù)端運行iperf,輸入命令iperf –s -u –p 12345 –i 1 以在本機(jī)端口12345上啟用iperf,并運行于udp模式
在客戶端運行iperf,輸入命令iperf -c server-ip -p server-port -i 1 -t 10 -b,其中參數(shù)說明如下:
-c:客戶端模式,后接服務(wù)器ip
-p:后接服務(wù)端監(jiān)聽的端口
-i:設(shè)置帶寬報告的時間間隔,單位為秒
-t:設(shè)置測試的時長,單位為秒
-b:設(shè)置udp的發(fā)送帶寬,單位bit/s
客戶端截圖
服務(wù)端截圖
其中,Jitter為抖動,lost/total為丟包數(shù)量,Datagrams為包數(shù)量。
測試單線程UDP(帶寬為10Mbit/s)
設(shè)置客戶端帶寬為10M即可,使用參數(shù)-b指定
與多線程TCP類似,只需要客戶端使用-P參數(shù)指定線程個數(shù)即可
測試UDP的雙向傳輸
客戶端使用參數(shù)-d以運行雙測試模式,客戶端會與服務(wù)端進(jìn)行udp往返測試??梢允褂?L參數(shù)指定本端雙測試監(jiān)聽的端口。
與雙向傳輸類似,使用參數(shù)-r以運行交互模式,仍然可以使用-L參數(shù)指定交互的端口。
評論