[原創]Linux下網路效能測試Netperf工具介紹及安裝
1 官方網站
http://www.netperf.org/netperf/
2 Netperf介紹
Netperf是一種網路效能的測試工具,主要針對基於TCP或UDP的傳輸。Netperf根據應用的不同,可以進行不同模式的網路效能測試,即批量資料傳輸(bulk data transfer)模式和請求/應答(request/reponse)模式。Netperf測試結果所反映的是一個系統能夠以多快的速度向另外一個系統傳送資料,以及另外一個系統能夠以多快的速度接收資料。
Netperf工具以client/server方式工作。server端是netserver,用來偵聽來自client端的連線,client端是netperf,用來向server發起網路測試。在client與server之間,首先建立一個控制連線,傳遞有關測試配置的資訊,以及測試的結果;在控制連線建立並傳遞了測試配置資訊以後,client與server之間會再建立一個測試連線,用來來回傳遞著特殊的流量模式,以測試網路的效能。
3 Netperf安裝
下載:http://www.netperf.org/netperf/
在linux下安裝,先下載完成後,執行如下操作:
tar zxvf netperf-2.6.0.tar.gz
cd netperf-2.6.0
./configure
make
make install
4 Netperf應用介紹
1 Netperf可以模擬三種不同的TCP流量模式:
1) 單個TCP連線,批量(bulk)傳輸大量資料
2) 單個TCP連線,client請求/server應答的交易(transaction)方式
3) 多個TCP連線,每個連線中一對請求/應答的交易方式
2 Netperf可以模擬兩種UDP的流量模式:
1) 從client到server的單向批量傳輸
2) 請求/應答的交易方式由於UDP傳輸的不可靠性,在使用netperf時要確保傳送的緩衝區大小不大於接收緩衝區大小,否則資料會丟失,netperf將給出錯誤的結果。因此,對於接收到分組的統計不一定準確,需要結合傳送分組的統計綜合得出結論。
5 Netperf語法格式
Netperf [global options] –-[test-specific options]
[global options] 可選引數,具體如下介紹:
引數 |
說明 |
-H host |
指定遠端執行netserver的server IP地址 |
-l testlen |
指定測試的時間長度(秒) |
-t testname |
指定進行的測試型別(TCP_STREAM,UDP_STREAM,TCP_RR,TCP_CRR,UDP_RR) |
[test-specific options] 可選引數,具體如下介紹:
引數 |
說明 |
-s size |
設定本地系統的socket傳送與接收緩衝大小 |
-S size |
設定遠端系統的socket傳送與接收緩衝大小 |
-m size |
設定本地系統傳送測試分組的大小 |
-M size |
設定遠端系統接收測試分組的大小 |
-D |
對本地與遠端系統的socket設定TCP_NODELAY選項 |
-r req,resp |
設定request和reponse分組的大小 |
遠端主機: NPtcp [options]
本地主機: NPtcp -h remote_host [options]