iperf工具測速


1M-10M帶寬的測速可采用HTTP下載、FTP下載以及iperf測速,對10M以上的帶寬使用iperf測速。

下面介紹如何使用iperf2進行測速:

步驟一:下載iperf保存到本地C盤根目錄下,並解壓縮在當前目錄下;

步驟二:點擊“開始”->“運行”->輸入“cmd”,回車進入命令行模式;

步驟三:在命令行模式下輸入“cd\”,進入c盤根目錄;

步驟四:命令行模式輸入“dir”,查看iperf文件夾是否存在,存在則輸入“cd iperf”,進入iperf文件夾;

步驟五:在命令行模式下,輸入“iperf -c 192.168.23.200 -r -w 5k -t 20 -i 5”。

  注意:如果用戶端,ping地址192.168.23.200延時比較大(>10ms),則修改上面命令參數-w,可以嘗試下面的命令:

    iperf -c 192.168.23.200 -r -w 50k -t 20 -i 5  (高帶寬延時小的鏈路)

    iperf -c 192.168.23.200 -r -w 300k -t 20 -i 5 (相對低帶寬延時大的鏈路)

 

Iperf常用參數說明:

  • -c host    以客戶端模式啟動,host是數據源所在的服務器端地址,比如:iperf -c 222.35.11.23;
  • -i sec  以秒為單位顯示報告間隔,比如:iperf -c 222.35.11.23 -i 2;
  • -u  使用UDP協議,發送UDP數據包,默認使用TCP連接;
  • -w  指定TCP窗口大小,默認是8KB,此參數比較重要,需要針對不同的帶寬和時延進行調整
  • -t  測試時間長,默認10秒,比如:iperf -c 222.35.11.23 -t 5
  • -n  (一般配合UDP協議時使用)指定傳輸的字節數,比如:iperf -c 222.35.11.23 -n 100000
  • -P  (大寫)指定同時進行的TCP/UDP連接數,對於高帶寬測速,需要該參數建立多條TCP/UDP連接以測得更准確的速率
  • -s  以server模式啟動,eg:iperf -s

  • -p  指定服務器端使用的端口或客戶端所連接的端口

下行UDP灌包(從服務器向終端灌包)

  服務器側CMD窗口中啟動如下命令:

  • iperf -c xx.xx.xx.xx -u -b 100m -p 6001 -t 9999

  UE側PC CMD窗口中啟動如下命令:

  • iperf -s -u -p 6001

  參數說明:

  

參數

說明

c xx.xx.xx.xx

表示向xx.xx.xx.xx灌包(xx.xx.xx.xx為UE ip地址)

-u

表示啟動UDP灌包,如果是灌TCP則不需要-u這個參數

-b 100m

表示指定灌包大小,這里表示灌100M的數據

-p 6001

表示指定灌包的端口為6001,可根據需要更改

-t 99999

表示指定灌99999秒,可根據需要修改灌包時長

-s

表示啟動iperf服務器

 

上行UDP灌包(從UE灌向服務器)

  服務器側CMD窗口中啟動如下命令:

  • Iperf –s –u –p 6002

  UE側PC CMD窗口中啟動如下命令:

  • Iperf –c xx.xx.xx.xx –u –b 100m –p 6002 –t 99999

  參數說明:

參數

說明

c xx.xx.xx.xx

表示向xx.xx.xx.xx灌包(xx.xx.xx.xx為服務器地址)

下行TCP灌包

  服務器側CMD窗口中啟動如下命令:

  • Iperf –c xx.xx.xx.xx –p 6003 –w 512k –t 99999

  UE側PC CMD窗口中啟動如下命令:

  • Iperf –s –w 512k–p 6003

  參數說明:

參數

說明

c xx.xx.xx.xx

表示向xx.xx.xx.xx灌包(xx.xx.xx.xx為UE ip地址)

-w

指定TCP窗口大小

需要特別注意的是千萬不要-b,否則就成為UDP灌包。

 

上行TCP灌包

  服務器側CMD窗口中啟動如下命令:

  • Iperf –s –w 512k–p 6004

  UE側PC CMD窗口中啟動如下命令:

  • Iperf –c xx.xx.xx.xx –p 6004 –w 512k –t 99999

  參數說明:

參數

說明

c xx.xx.xx.xx

表示向xx.xx.xx.xx灌包(xx.xx.xx.xx為服務器地址)

-w

指定TCP窗口大小

需要特別注意的是千萬不要-b,否則就成為UDP灌包。

 

IPERF其他命令參數說明

IPERF參數大全

公共選項參數

-f:format

速率報告的格式:是采用Kbits, Mbits, Kbytes,還是MBytes

-i: interval

周期性帶寬報告的時間間隔。單位:秒

-l:len

讀寫緩沖區的長度。對於TCP,默認:8KB;對於UDP,默認:1470B

-m:print_mss

打印TCP最大段的大小(MTU - TCP/IP header)

-p:port

Iperf server監聽的服務端口;或Iperf client連接的服務端口。

在Iperf server和Iperf client兩邊的端口必須是相同的。默認服務端口:5001

-u:UDP

使用UDP進行測量

-w:window

設置套接字緩沖區大小為指定的數值。對於TCP,本選項將設置TCP窗口大小;對於UDP,本選項是接收數據報文的緩沖,所以它被限制到最大的接收數據報文大小

-B:bind

綁定到主機的一個接口或組播地址。對於Iperf client,本選項設置的是對外的接口;對於Iperf server,本選項設置的是進入的接口。本選項參數僅用於多宿主主機,它有多個網絡接口

-C:compatibility

兼容模式,允許和低版本的Iperf一起使用。兼容模式對於互用性並不是必需的,但是高度建議的。在某些案例里,當在使用典型的流(streaming)時,你可能會引起1.7版本的Iperf server沖突,或造成一些不希望發生的連接嘗試

-M:mss

通過TCP_MAXSEG選項,設置TCP最大段大小(Maximum Segment Size )。對於TCP/IP頭部來說,MSS通常是MTU - 40 bytes;對於以太網,MSS是1640 bytes(1500 byte MTU)。在很多OSes里,本選項沒有被執行

-N:no delay

設置TCP為零時延選項,禁止Nagle算法。通常,對於像Telnet這樣的交互式應用程序,此選項僅被禁止

-V

綁定到一個IPv6地址。從V1.6或更高版本開始支持。其格式是:

    Server 側:$ iperf -s -V 

Client側:$ iperf -c <Server IPv6 Address> -V

注意:在V1.6.3版本或更高版本,一個特定的IPv6地址並不需要用“-B”選項來綁定,V1.6以前的版本需要。同樣,在大多數的OSes里,本選項的使用,也取決於使用IPv4映射地址的IPv4客戶端

Iperf server特定選項參數

-s:server

Iperf運行在server模式下

-D:daemon

讓server運行為守護神程序(Unix平台)。在Win32平台,服務是有效的,Iperf將作為一個服務運行。本選項從Iperf的V1.2或更高版本開始支持

-R:Remove

刪除Iperf服務(如果它正在運行)。本選項僅僅對於Windows有效,從Iperf的V1.2或更高版本開始支持

-o

輸出報告或錯誤信息到一個指定的文件里。(僅適用於windows。從Iperf的V1.2或更高版本開始支持)

-c:client host

如果Iperf運行在server模式下,那么用“-c”指定一個主機將限制Iperf將要接受的指定主機的連接。本選項對UDP支持得不是很好

-P:parallel

在關閉前被server處理的連接數目。默認:0(這意味着永久接受連接)

Iperf client特定選項參數

-b:bandwidth

帶寬。UDP的發送帶寬, 單位:bits/sec。這暗示着使用“-u”選項。默認:1 Mbit/sec

-c:client host

運行在client模式,連接到運行在主機上的Iperf server

(注意:-c后面一定要有host的IP地址,即格式是:-c 10.0.0.79。否則,命令執行失敗。Host的IP地址指的是Iperf server端的IP地址)

-d:dualtest

同時進行雙向傳輸測試,運行Iperf在雙向測試模式下。這將引起server在用“-L”選項指定的端口(或client連接到server所用的默認端口)上,重新連接回client。這是立即完成的,所以同時地運行測試。如果你想用單獨的交互式測試,請嘗試“-r”選項

-n:number

要發送的字節數。單位:Kbyte/s,Mbyte/s。通常,Iperf發送數據的時間為10秒。“-n”選項改寫了這個時間,它發送完指定大小的數據,而不管這個過程花費了多長時間。請參考“-l”、“-t”選項

-r:tradeoff

單獨進行雙向傳輸測試,運行Iperf在折衷測試(tradeoff testing)模式下。這將引起server在用“-L”選項指定的端口(或client連接到server所用的默認端口)上,重新連接回client。隨着client連接的終止,這個過程就完成了,所以單獨地運行測試。如果你想用同時的測試,請嘗試“-d”選項

-t:time

傳送數據的測試時間。單位:秒。默認:10秒。當與“–n”參數同時使用時,以“ -n ”選項為准。即設置的測試時間失效。請參考“-l”、“-n”選項

-L:listenport

本選項指定一個監聽端口,server從這個端口連接回client。默認的監聽端口是client連接server所使用的端口

-P:parallel

並行運行的client數目。默認值:1。需要client和server之間的線程支持

-S:tos

發出的數據包的服務類型。(很多路由器忽略TOS域)。你可以用十六進制“0x”為前綴,以八進制“0”為前綴,或以十進制為前綴。例如,(0x10)16=(020)8=(16)10。

在RFC 1349里,對TOS的定義如下:

        IPTOS_LOWDELAY:最小時延    0x10

        IPTOS_THROUGHPUT:最大吞吐量   0x08

        IPTOS_RELIABILITY:最大可靠性  0x04

        IPTOS_LOWCOST:最小成本   0x02

-T:TTL

發出的組播包的存活期(time-to-live)。這是報文穿越路由器跳數的基本數字。默認值:1

-F:fileinput

 <name>

使用一個典型的流(stream)來測量帶寬。從Iperf的V1.2或更高版本開始支持。例如:

    $ iperf -c <server address> -F <file-name>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM