NetPerf揭示容器間是高速路還是林蔭小路
Netperf概況
Netperf是一種網(wǎng)絡(luò)性能的測量工具,主要針對基于TCP或UDP的傳輸。Netperf根據(jù)應(yīng)用的不同,可以進行不同模式的網(wǎng)絡(luò)性能測試,即批量 數(shù)據(jù)傳輸(bulk data transfer)模式和請求/應(yīng)答(request/reponse)模式。Netperf測試結(jié)果所反映的是一個系統(tǒng)能夠以多快的速度向另外一個系統(tǒng) 發(fā)送數(shù)據(jù),以及另外一個系統(tǒng)能夠以多塊的速度接收數(shù)據(jù)。
Netperf工具以client/server方式工作。server端是 netserver,用來偵聽來自client端的連接,client端是netperf,用來向server發(fā)起網(wǎng)絡(luò)測試。在client與 server之間,首先建立一個控制連接,傳遞有關(guān)測試配置的信息,以及測試的結(jié)果;在控制連接建立并傳遞了測試配置信息以后,client與 server之間會再建立一個測試連接,用來來回傳遞著特殊的流量模式,以測試網(wǎng)絡(luò)的性能。
TCP網(wǎng)絡(luò)性能
由于TCP協(xié)議能夠提供端到端的可靠傳輸,因此被大量的網(wǎng)絡(luò)應(yīng)用程序使用。但是,可靠性的建立是要付出代價的。TCP協(xié)議保證可靠性的措施,如建立并維護連接、控制數(shù)據(jù)有序的傳遞等都會消耗一定的網(wǎng)絡(luò)帶寬。
Netperf可以模擬三種不同的TCP流量模式:
- 1) 單個TCP連接,批量(bulk)傳輸大量數(shù)據(jù)
- 2) 單個TCP連接,client請求/server應(yīng)答的交易(transaction)方式
- 3) 多個TCP連接,每個連接中一對請求/應(yīng)答的交易方式
UDP網(wǎng)絡(luò)性能
UDP沒有建立連接的負擔(dān),但是UDP不能保證傳輸?shù)目煽啃?,所以使用UDP的應(yīng)用程序需要自行跟蹤每個發(fā)出的分組,并重發(fā)丟失的分組。 Netperf可以模擬兩種UDP的流量模式:
- 1) 從client到server的單向批量傳輸
- 2) 請求/應(yīng)答的交易方式
由于UDP傳輸?shù)牟豢煽啃?,在使用netperf時要確保發(fā)送的緩沖區(qū)大小不大于接收緩沖區(qū)大小,否則數(shù)據(jù)會丟失,netperf將給出錯誤的結(jié)果。因此,對于接收到分組的統(tǒng)計不一定準(zhǔn)確,需要結(jié)合發(fā)送分組的統(tǒng)計綜合得出結(jié)論。
Netperf的命令行參數(shù)
在unix系統(tǒng)中,可以直接運行可執(zhí)行程序來啟動netserver,也可以讓inetd或xinetd來自動啟動netserver。
當(dāng)netserver在server端啟動以后,就可以在client端運行netperf來 測試網(wǎng)絡(luò)的性能。netperf通過命令行參數(shù)來控制測試的類型和具體的測試選項。根據(jù)作用范圍的不同,netperf的命令行參數(shù)可以分為兩大類:全局 命令行參數(shù)、測試相關(guān)的局部參數(shù),兩者之間使用--分隔:
netperf [global options]-- [test-specific options]
這里我們只解釋那些常用的命令行參數(shù),其它的參數(shù)讀者可以查詢netperf的man手冊。
-H host :指定遠端運行netserver的server IP地址。
-l testlen:指定測試的時間長度(秒)
-t testname:指定進行的測試類型,包括TCP_STREAM,UDP_STREAM,TCP_RR,TCP_CRR,UDP_RR,在下文中分別對它們說明。在后面的測試中,netserver運行在192.168.0.28,server與client通過局域網(wǎng)連接(100M Hub)。
NetPerf安裝、使用過程
1、下載
進入/home/FUCK文件夾下輸入wget http://down1.chinaunix.net/distfiles/netperf-2.4.5.tar.gz
2、安裝
tar -xvf netperf-2.4.5.tar.gz
cd netperf-2.4.5
./configure
make
make install
3、測試netperf是不是可以用
server: netserver -d 4 -L 0.0.0.0 -p 9991
Client: netperf -l 60 -4 -f -m -t TCP_CRR -H 172.16.22.102 -p 9991 -- -r 64,64
From:https://blog.csdn.net/crisschan
關(guān)注我,關(guān)注測試
FROM:https://blog.csdn.net/crisschan