Iperf網(wǎng)絡(luò)吞吐量/帶寬測(cè)試的考慮和總結(jié)
Iperf測(cè)試:使用udp設(shè)定帶寬2M,5M,10M,同時(shí)觀察對(duì)正進(jìn)行的ping測(cè)試的影響。證明iperf使用udp測(cè)試/使用一定或最大帶寬時(shí),同樣能影響tcp協(xié)議的流量。
任務(wù)
(1) (使用UDP,參數(shù)-u -b 2M)設(shè)定不同帶寬
- # iperf3 -c 192.168.199.18 -p54321 -i 1 -t 1800 -u -b 1M
(2) 雙向同時(shí)測(cè)試(在任一端多開(kāi)一個(gè)iperf port/進(jìn)程,然后在同一端使用參數(shù)-R進(jìn)行測(cè)試)
服務(wù)端執(zhí)行:
- # iperf3 -s -p54321
- # iperf3 -s -p54322
客戶端執(zhí)行:
- # iperf3 -c 192.168.199.18 -p54321 -i 1 -t 1800 -u -b 1M
- # iperf3 -c 192.168.199.18 -p54322 -i 1 -t 1800 -u -b 1M -R
注意事項(xiàng)
TCP協(xié)議測(cè)試不能計(jì)算出時(shí)延與丟包率,而且還不能指定發(fā)送帶寬。
(1) Iperf主要功能:
Iperf可以用來(lái)測(cè)試網(wǎng)絡(luò)節(jié)點(diǎn)間(也包括回環(huán))TCP或UDP連接的性能,包括測(cè)試帶寬、抖動(dòng)以及丟包率,其中抖動(dòng)和丟包率適應(yīng)于UDP測(cè)試,而帶寬測(cè)試適應(yīng)于TCP和UDP。
(2) 雙向同時(shí)測(cè)試方法:在任一端開(kāi)多一個(gè)iperf port/進(jìn)程(注意Port不同),然后在另一端使用參數(shù)-R進(jìn)行測(cè)試
例如:
在測(cè)試機(jī)A(服務(wù)端) 執(zhí)行:(windows需要打開(kāi)多一個(gè)cmd窗口)
- # iperf3 -s -p23451
- # iperf3 -s -p50000
在測(cè)試機(jī)B(客戶端)執(zhí)行:
- # iperf3 -c 192.168.0.11 -p23451 -i 1 -t 3600 -u -b 1M
- # iperf3 -c 192.168.0.11 -p50000 -i 1 -t 3600 -u -b 1M -R
(3) Jitter(抖動(dòng)值)就是連續(xù)發(fā)送時(shí)延差值的平均值
(4) 回環(huán)測(cè)試iperf是否安裝成功
- # iperf3 -s
- -----------------------------------------------------------
- Server listening on 5201
- -----------------------------------------------------------
- # iperf3 -c 127.0.0.1
- Connecting to host 127.0.0.1, port 5201
- [ 4] local 127.0.0.1 port 58884 connected to 127.0.0.1 port 5201
- [ ID] Interval Transfer Bandwidth Retr Cwnd
- [ 4] 0.00-1.00 sec 705 MBytes 5.92 Gbits/sec 0 560 KBytes
- …..
(5) 測(cè)試吞吐量,抖動(dòng)和丟包率
如果需要同時(shí)測(cè)試以上三個(gè)參數(shù),那么只能通過(guò)UDP獲得。使用-u參數(shù)進(jìn)行UDP測(cè)試(iperf默認(rèn)為T(mén)CP)。
在測(cè)試的最后server端會(huì)給出一個(gè)報(bào)告。
要獲得帶寬數(shù)據(jù),需要不斷在client端增加帶寬值,直到server端出現(xiàn)輕微的丟包為止,此時(shí)server端顯示的帶寬就是被測(cè)系統(tǒng)的吞吐量。
(6) 一般來(lái)說(shuō),我們?cè)谧鲂阅軠y(cè)試的時(shí)候需要指定包長(zhǎng),不同的包長(zhǎng)會(huì)得到不同的吞吐量,通過(guò)-l指定,而使用-b指定帶寬。
(7) 使用TCP測(cè)試帶寬應(yīng)注意的問(wèn)題
有時(shí)候,我們需要使用TCP來(lái)測(cè)試網(wǎng)絡(luò)帶寬。這里有一個(gè)參數(shù)需要特別注意,那就是TCP窗口大小,可以使用-w參數(shù)指定。
網(wǎng)絡(luò)通道的容量capacity = bandwidth * round-trip time
而理論TCP窗口的大小就是網(wǎng)絡(luò)通道的容量。
比如,網(wǎng)絡(luò)帶寬為40Mbit/s,回環(huán)路徑消耗時(shí)間是2ms,那么TCP的窗口大小不小于40Mbit/s×2ms = 80kbit = 10Kbytes
此時(shí)我們可以查詢iperf默認(rèn)的TCP窗口大小來(lái)決定是否需要設(shè)置此參數(shù),在此例中,窗口大小應(yīng)設(shè)計(jì)大于10Kbytes,當(dāng)然,這僅僅是理論值,在實(shí)際測(cè)試中可能需要作出調(diào)整。