9月1號(hào),工信部的文件生效,有線接入寬帶的測(cè)速結(jié)果必須大于等于標(biāo)稱速率的90%。目前,各家是建立的自己的測(cè)速服務(wù)器提供測(cè)速支撐,但僅是提供了下載速率的速率,隨著用戶上傳需求的增加,用戶對(duì)上傳是否符合合同約定也越來越關(guān)注。
在工作中,我找了一個(gè)現(xiàn)成的工具:iperf,可以完成上下行的速率測(cè)試。簡(jiǎn)單介紹如下:
----------------------------------------------------------------------------------------
Iperf使用方法與參數(shù)說明
Iperf是一個(gè)網(wǎng)絡(luò)性能測(cè)試工具?梢詼y(cè)試TCP和UDP帶寬質(zhì)量,可以測(cè)量最大TCP帶寬,具有多種參數(shù)和UDP特性,可以報(bào)告帶寬,延遲抖動(dòng)和數(shù)據(jù)包丟失。Iperf在linux和windows平臺(tái)均有二進(jìn)制版本供自由使用。
Iperf wasdeveloped by NLANRDAST as a modern alternative for measuring maximum TCP andUDP bandwidth performance. Iperf allows the tuning of various parameters andUDP characteristics. Iperf reports bandwidth, delay jitter, datagram loss.
Iperf的是由NLANRDAST開發(fā)作為一個(gè)現(xiàn)代的替代測(cè)量最大TCP和UDP帶寬性能。iperf的可以調(diào)整各種參數(shù)和UDP特性。iperf的報(bào)告帶寬,時(shí)延抖動(dòng),數(shù)據(jù)包丟失。
Iperf使用方法與參數(shù)說明
參數(shù)說明
-s 以server模式啟動(dòng),eg:iperf -s
-c host以client模式啟動(dòng),host是server端地址,eg:iperf -c 222.35.11.23
通用參數(shù)
-f [kmKM]分別表示以Kbits, Mbits, KBytes, MBytes顯示報(bào)告,默認(rèn)以Mbits為單位,eg:iperf -c 222.35.11.23 -f K
-i sec 以秒為單位顯示報(bào)告間隔,eg:iperf-c 222.35.11.23 -i 2
-l 緩沖區(qū)大小,默認(rèn)是8KB,eg:iperf-c 222.35.11.23 -l 16
-m 顯示tcp最大mtu值
-o 將報(bào)告和錯(cuò)誤信息輸出到文件eg:iperf-c 222.35.11.23 -o ciperflog.txt
-p 指定服務(wù)器端使用的端口或客戶端所連接的端口eg:iperf-s -p 9999;iperf -c 222.35.11.23 -p 9999
-u 使用udp協(xié)議
-w 指定TCP窗口大小,默認(rèn)是8KB
-B 綁定一個(gè)主機(jī)地址或接口(當(dāng)主機(jī)有多個(gè)地址或接口時(shí)使用該參數(shù))
-C 兼容舊版本(當(dāng)server端和client端版本不一樣時(shí)使用)
-M 設(shè)定TCP數(shù)據(jù)包的最大mtu值
-N 設(shè)定TCP不延時(shí)
-V 傳輸ipv6數(shù)據(jù)包
server專用參數(shù)
-D 以服務(wù)方式運(yùn)行iperf,eg:iperf -s-D
-R 停止iperf服務(wù),針對(duì)-D,eg:iperf–s-R
client端專用參數(shù)
-d 同時(shí)進(jìn)行雙向傳輸測(cè)試
-n 指定傳輸?shù)淖止?jié)數(shù),eg:iperf-c 222.35.11.23-n 100000
-r 單獨(dú)進(jìn)行雙向傳輸測(cè)試
-t 測(cè)試時(shí)間,默認(rèn)10秒,eg:iperf -c222.35.11.23-t5
-F 指定需要傳輸?shù)奈募?/font>
-T 指定ttl值
應(yīng)用實(shí)例
使用 iperf -s 命令將 Iperf 啟動(dòng)為server 模式,在客戶機(jī)上使用 iperf-c啟動(dòng)client模式。
iperf–s
------------------------------------------------------------
Serverlistening onTCPport 5001
TCPwindow size: 8.00 KByte (default)
------------------------------------------------------------
iperf-c 59.128.103.56
上面使用服務(wù)端和客戶端的默認(rèn)設(shè)置進(jìn)行測(cè)試
iperf–s -w300K
------------------------------------------------------------
Serverlistening onTCPport 5001
TCPwindow size:300KByte
------------------------------------------------------------
iperf-c 59.128.103.56-fK-i2 -w300K
設(shè)定報(bào)告間隔為2秒,服務(wù)器端和客戶端的TCP窗口都開到300KB
iperf-c 59.128.103.56-fK-I2 -w300K–n 1000000
測(cè)試傳輸約1MB數(shù)據(jù)
Iperf-c 59.128.103.56-fK -I2-w 300K–t36
測(cè)試持續(xù)36秒
iperf-c 59.128.103.56-fK-I2 -w300K-n 10400000 –d
測(cè)試雙向的傳輸
iperf-c 59.128.103.56-fK-I2 -w300K–u
UDP測(cè)試
其中 -i 參數(shù)的含義是周期性報(bào)告的時(shí)間間隔(interval),單位為秒;在上面的例子中,表示每隔2秒報(bào)告一次帶寬等信息。
啟動(dòng)一個(gè)iperf服務(wù)器進(jìn)程
首先要介紹的命令用來啟動(dòng)iperf服務(wù)器監(jiān)聽進(jìn)程以便監(jiān)聽客戶端連接的。命令如下:
iperf.exe -s -P 2 -i 5 -p 5999 -fk
這個(gè)命令會(huì)啟動(dòng)iperf,后續(xù)參數(shù)用來設(shè)定監(jiān)聽5999 端口(默認(rèn)端口是5001), 限定iperf只允許兩個(gè)連接,每5秒?yún)R報(bào)一次連接情況。連接限制參數(shù)(-P參數(shù))非常重要,當(dāng)兩個(gè)連接建立后,服務(wù)器進(jìn)程就會(huì)退出。如果這個(gè)參數(shù)設(shè)定為0,那么iperf進(jìn)程將持續(xù)監(jiān)聽端口,并且不限制連接數(shù)量。
啟動(dòng)一個(gè)iperf 客戶端連接
iperf 的另一半就是客戶端,用來連接到服務(wù)器監(jiān)聽端口。比如我們要連接到一臺(tái)叫做 s-network1.amcs.tld 的服務(wù)器,端口為5999,連接60秒并且每5秒顯示一次狀態(tài),命令行如下:
iperf.exe -c s-network1.amcs.tld-P 1 -i 5 -p 5999 -f B -t 60 -T 1
命令啟動(dòng)后,s-network1 主機(jī)被用來進(jìn)行網(wǎng)絡(luò)性能檢測(cè)。與Jperf GUI 界面提供的漂亮圖形不同, iperf只會(huì)根據(jù)測(cè)量參數(shù)簡(jiǎn)單的報(bào)告網(wǎng)絡(luò)帶寬狀況,在本例中是以 比特為單位(-f 參數(shù))進(jìn)行帶寬表示的。
可以只記住下面這些簡(jiǎn)單命令就能實(shí)際使用了。
1、找臺(tái)電腦做服務(wù)器端,最好是千兆接入的, 在cmd中運(yùn)行
Iperf –s
2、客戶端cmd 中運(yùn)行
iperf -c XXX.XXX.XXX.XXX-t 60-P 5
Usage:iperf [-s|-c host] [options]
部分參數(shù)詳解
-c XXX.XXX.XXX.XXX 服務(wù)器ip地址
-t 60測(cè)試時(shí)間60s
-P 5 默認(rèn)為單線程,100M建議使用4-5線程
-w 200k 如果測(cè)速不正常,可以增加此參數(shù),參考值50k(高帶寬延時(shí)小的鏈路)、300k(相對(duì)低帶寬延時(shí)大的鏈路)
-r 雙向測(cè)速,先測(cè)上行,后測(cè)下行