網絡測試工具Netperf安裝使用
Netperf是一種網絡性能測試工具,主要針對據域TCP和UDP的傳輸。Netperf根據應用的不同可以進行不同模式的網絡性能測試,既批量數據傳輸模式(bulk data transfer)請求/應答模式(request/response)模式。Netperf測試結果所反映的是一個系統(tǒng)能夠以多快速度向另外一臺系統(tǒng)發(fā)送數據,以及另外一個系統(tǒng)能夠以多快速度接收數據。
Netperf工具以client/server方式工作。server端是netserver,用來偵聽來自client端的連接。client端是netperf,用來行server發(fā)起網絡測試。在client和server之間,首先建立一個控制連接,傳輸有關測試配置信息,以及測試結果;在控制連接建立并傳輸了測試配置信息以后,client與server之間回再建立一個測試連接,用來來回傳遞特殊的流量模式,以測試網絡的性能。
1.下載
下載地址:http://www.netperf.org/netperf/
這個網站上有最新版本的下載連接和操作手冊
例如下載的文件為:netperf-2.6.0.tar
2.解壓
$ tar -xvf netperf-2.6.0.tar
3.安裝
$ cd netperf-2.6.0
$ ./configure
$ make
$ make install
4.首先在服務器端運行
$ netserver
5.運行客戶端
$ netperf -H host -l testlen -t testname
命令參數:
-H host: 指定遠端運行netserver的server ip地址
-l testlen: 指定測試的時間長度(秒)
-t testname: 指定進行的測試類型,包括TCP_STREAM, UDP_STREAM, TCP_RR,UDP_RR, TCP_CRR
6. 測試案例
(1)服務器端執(zhí)行:(ip: 10.10.11.208)
[root@phpc1 netperf-2.6.0]# netserver Starting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC [root@phpc1 netperf-2.6.0]# |
(2)客戶端運行
[root@phpc2 netperf-2.6.0]# netperf -H 10.10.11.208 -l 60 -t TCP_STREAM MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.10.11.208 () port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 60.03 [root@phpc2 netperf-2.6.0]# netperf -H 10.10.11.208 -l 60 -t TCP_STREAM MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.10.11.208 () port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 60.03 937.04 |
從netperf是輸出結果中我們可以知道以下信息:
(a) 遠端系統(tǒng)(即server)使用大小為87380字節(jié)的socket接受緩沖區(qū)
(b)本地系統(tǒng)(即client)使用大小為16384字節(jié)的socket發(fā)送緩沖區(qū)
(c)向遠端系統(tǒng)發(fā)送的測試分組大小為16384字節(jié)
(d)測試經歷的時間為60秒
(e)吞吐量的測試結果為 937.04 *10^6bits/sec
在缺省情況下,netperf向發(fā)送的測試分組大小為本地系統(tǒng)所使用的socket發(fā)送緩沖大小
TCP_STREAM方式下與測試相關的局部參數如下所示:
-s size:設置本地系統(tǒng)的socket發(fā)送與接收緩沖大小
-S size: 設置遠端系統(tǒng)的socket發(fā)送與接收緩沖大小
-m size: 設置本地系統(tǒng)發(fā)送測試分組的大小
-M size: 設置遠端系統(tǒng)接收測試分組的大小
-D: 對本地與遠端系統(tǒng)的socket設置TCP_NODELAY選項I/O測試。
其他網絡性能測試工具如 dbs, iperf, pathrate, nettest, netlogger, tcptrace, ntop.
7.網絡性能介紹
(1)TCP網絡性能
由于TCP協(xié)議能夠提供端到端的可靠傳輸,因此被大量的網絡應用程序使用。但是,可靠性的建立是要付出代價的。TCP協(xié)議保證可靠性的措施,如建立并維護連接,控制數據有序的傳輸等都會消耗一定的網絡帶寬。
netperf可以模擬以下三種不同的tcp流量模式:
(a)單個TCP連接,批量(bulk)傳輸大量數據。
(b)單個TCP連接,client請求/server應答的方式
(c)多個TCP連接,每個鏈接中一對請求/應答方式
(2)UDP網絡性能
UDP沒有建立連接的負擔,但是udp不能保證傳輸的可靠性,所以使用udp的應用需要自行跟蹤美國發(fā)出的分組,并重發(fā)丟失的分組,netperf可以模擬兩種udp流量模式:
(a) 從client到server的單向批量傳輸
(b)請求/應答方式
由于udp傳輸的不可靠性,在使用netperf是需要確保發(fā)送的緩沖區(qū)大小不大于接收緩沖區(qū)大小,否則數據丟失,netperf將給出錯誤的結果。因此,對于接收到分組的統(tǒng)計不一定準確,需要結合發(fā)送分組的統(tǒng)計綜合得出結論。
posted on 2013-10-29 10:52 順其自然EVO 閱讀(1992) 評論(0) 編輯 收藏 所屬分類: 性能測試 、web 前端性能測試