[原創]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]