Netperf效能測試工具

來源:互聯網
上載者:User

Netperf是一款開源的網路效能測試工具,主要針對TCP和UDP傳輸進行測試。它有4種工作模式:TCP_STREAM、TCP_RR、UDP_STREAM、UDP_RR。後續將會對每個工作模式進行詳細說明。

關於Linux系統下如何安裝,這裡不作說明,網上資料有很多很多。有沒有Windows版本的Netperf呢?當然有的,需要下載的話,請戳這裡:NetPerf-2.4.5-w32.zip。【請注意它所適用的作業系統版本】經本人親測,XP
SP3確實可以使用。其中,netserver作為server端,netperf作為client端。

在第一次運行netserver時,遇到這樣一個問題:

C:\>netserver.exenetserver: fopen of debug file as new stdout failed!: The system cannot find the path specified.

解決辦法,在C盤根目錄下建立一個目錄temp,就可以了。為什麼呢,看原始碼:

Source: netserver.c#ifndef DEBUG_LOG_FILE#ifndef WIN32#define DEBUG_LOG_FILE "/tmp/netperf.debug"#else#define DEBUG_LOG_FILE "c:\\temp\\netperf.debug"#endif /* WIN32 */#endif /* DEBUG_LOG_FILE */

好,這樣就可以正常使用了。

netperf常用的全域參數有:

  • -h help
  • -H 指定server端IP
  • -t 指定測試類型,包括TCP_STREAM、TCP_RR、UDP_STREAM、UDP_RR4種。
  • -l 指定測試時間,單位是秒。
1. TCP_STREAM

測試TCP流式通訊時的網路頻寬,這是netperf的default測試類型。

C:\>netperf -H 192.168.1.152 -t TCP_STREAM -l 10TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.152 (192.168.1.152) port 0 AF_INETRecv    Send    SendSocket  Socket  Message ElapsedSize    Size    Size    Time    Throughputbytes   bytes   bytes   secs.   10^6bits/sec8192    8192    8192    10.00   454.21

測試結果表明,TCP頻寬為454.21Mbps。

2. UDP_STREAM

測試UDP流式通訊時的網路頻寬。值得注意的是,UDP測試時,需要確保發送端資料緩衝區不能大於接收端緩衝區,否則肯定會出現資料包丟失,造成測試結果不準確。-m參數用來指定發送端緩衝區大小,-M參數用來指定接收端緩衝區大小。

C:\>netperf -H 192.168.1.152 -t UDP_STREAM -l 10 -- -m 1024 -M 1024UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.152 (192.168.1.152) port 0 AF_INETSocket    Message Elapsed    MessagesSize      Size    Time       Okay Errors    Throughputbytes     bytes   secs.      #    #         10^6bits/sec8192      1024    10.01           0         386.008192              10.01                     56.27

第一行結果是本地的發送統計,也就是本地發送UDP的輸送量為386Mbps,第二行是server端的接收統計,輸送量為56.27Mbps。


3.
TCP_RR在一次TCP串連中,client端和server端的transaction次數。

C:\>netperf -H 192.168.1.152 -t TCP_RRTCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.152 (192.168.1.152) port 0 AF_INET : first burst 0Local /RemoteSocket Size  Request Resp.  Elapsed Trans.Send   Recv  Size    Size   Time    Ratebytes  Bytes bytes   bytes  secs.   per sec8192   8192  1       1      10.00   10076.088192   8192

測試結果中,第一行是本地統計結果,第二行是遠端統計結果,Request和Response報文大小都是1個位元組,C/S兩端每秒的transaction次數是10076.08。

4.
UDP_RR

在基於UDP的串連中,client端和server端的transaction次數。

C:\>netperf -H 192.168.1.152 -t UDP_RRUDP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.152 (192.168.1.152) port 0 AF_INET : first burst 0Local /RemoteSocket Size  Request Resp.  Elapsed Trans.Send   Recv  Size    Size   Time    Ratebytes  Bytes bytes   bytes  secs.   per sec8192   8192  1       1      10.00   9120.108192   8192

同樣地,測試結果中,第一二行分別是本地和遠端統計結果,Request和Response報文大小都是1個位元組,C/S兩端每秒的transaction次數是9120.10。

那麼,在TCP_RR和UDP_RR測試中,Request和Response報文大小如何指定呢?用到的是-r參數。使用方法是,-r req, [rsp]。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.