性能測試工具netperf安裝使用

netperf工具使用

一、安裝

1,下載

liunx下載地址:ftp://ftp.netperf.org/netperf/

windows版下載地址:ftp://ftp.netperf.org/netperf/misc/

這裏我下載版本:netperf-2.6.0.tar.gz

2,安裝

[root@localhost home]# tar -zxvf netperf-2.6.0.tar.gz
[root@localhost home]# cd netperf-2.6.0/
[root@localhost netperf-2.6.0]# ./configure
[root@localhost netperf-2.6.0]# make&& make install
[root@localhost ~]# netperf -V
Netperf version 2.6.0

二、netperf介紹

Netperf是一種網絡性能的測量工具,可以測試基於TCPUDP吞吐、響應速率。Netperf包括ClienServer端。Server端主要用來實現監聽工作,Client端進行測試。根據流量傳輸方式可分爲以下三種:

1)單方向最大吞吐傳輸大量數據。

2)雙方向交互傳輸數據,對於tcp爲單連接。

3)針對tcp,每個連接交互傳輸數據。

三、Netperf服務端

Netperf服務端使用命令爲netservernetserver默認監聽端口爲12865netserver可選項較少,常用-p指定監聽端口。-h可以查看可選項。

1,啓動服務器

[root@localhost ~]# netserver
Starting netserver with host'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC

2,指定監聽端口

[root@localhost tmp]# netserver -p 1180
Starting netserver with host'IN(6)ADDR_ANY' port '1180' and family AF_UNSPEC

四、netperf客戶端

Netperf客戶端使用命令就是netperfnetperf使用語法:

netperf <全局選項> -- <特指選項>

這裏舉例介紹幾種常見使用場景來演示netperf使用:

1,測試tcp吞吐

[root@localhost ~]# netperf -t TCP_STREAM -H 192.168.0.221 -l 10 -P 1180
MIGRATED TCP STREAM TEST from 0.0.0.0(0.0.0.0) port 0 AF_INET to 192.168.0.221 () 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    10.00   4586.58

 

測試結果:吞吐爲4.5G/s

-t 指定進行的測試類型,包括TCP_STREAMUDP_STREAMTCP_RRTCP_CRRUDP_RR。可以省略,省略即爲TCP_STEAM

-H:指定遠程主機,即netserver服務器地址。

-l 指定時間。

-p:指定netserver監聽端口,可以省略,省略即爲默認端口12865

2,測試UDP吞吐

[root@localhost ~]# netperf -t UDP_STREAM -H 192.168.0.221 -l 10
MIGRATED UDP STREAM TEST from 0.0.0.0(0.0.0.0) port 0 AF_INET to 192.168.0.221 () port 0 AF_INET
Socket Message  Elapsed      Messages               
Size   Size     Time         Okay Errors   Throughput
bytes  bytes    secs            #      #  10^6bits/sec
 
212992  65507   10.00       78233      0   4099.59
212992           10.00       74263           3891.55

測試結果:

第一行表示本地吞吐4.0G/s,第二行表示接收端吞吐只有3.8G/s

3,測試tcp交互響應速率,類似http長連接或客戶端對數據庫服務器讀取存儲

[root@localhost ~]# netperf -t TCP_RR -H 192.168.0.221 -l 10 -- -r 256,2048
MIGRATED TCP REQUEST/RESPONSE TEST from0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.221 () port 0 AF_INET : firstburst 0
Local /Remote
Socket Size   Request Resp.   Elapsed  Trans.
Send  Recv   Size     Size   Time     Rate        
bytes Bytes  bytes    bytes  secs.    per sec  
 
16384 87380  256      2048   10.00    6020.25  
16384 87380

測試結果:第一行顯示:每秒達6k響應。第二行只是顯示服務器端信息。

-r:指定客戶端發送數據大小和服務器端響應數據大小。例子中客戶端每次發送tcp數據256字節,服務器每次回覆2048字節。

4,測試udp交互響應速率,與tcp交互類似

[root@localhost ~]# netperf -t UDP_RR -H 192.168.0.221 -l 10 -- -r 256,2048
MIGRATED UDP REQUEST/RESPONSE TEST from0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.221 () port 0 AF_INET : firstburst 0
Local /Remote
Socket Size   Request Resp.   Elapsed  Trans.
Send  Recv   Size     Size   Time     Rate        
bytes Bytes  bytes    bytes  secs.    per sec  
 
212992 212992 256      2048   10.00    5385.92  
212992 212992

5,針對tcp,每次交互都重新建立tcp連接,類似http短連接交互過程

[root@localhost ~]# netperf -t TCP_CRR -H 192.168.0.221 -l 10 -- -r 128,1024
MIGRATED TCP Connect/Request/Response TESTfrom 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.221 () port 0 AF_INET
Local /Remote
Socket Size   Request Resp.   Elapsed  Trans.
Send  Recv   Size     Size   Time     Rate        
bytes Bytes  bytes    bytes  secs.    per sec  
 
16384 87380  128      1024   10.00    2623.44  
16384 87380

測試結果:比沒有每次建連接響應速率少一半。

6,其他選項

參數

說明

-s size

設置本地系統的socket發送與接收緩衝大小

-S size

設置遠端系統的socket發送與接收緩衝大小

-m size

設置本地系統發送測試分組的大小

-M size

設置遠端系統接收測試分組的大小

-D

設置TCP_NODELAY選項

-r req,resp

設置request和reponse分組的大小

 

官方用戶手冊:http://www.netperf.org/svn/netperf2/trunk/doc/netperf.pdf


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章