NetPerf揭示主機通信間是高速路還是林蔭小路

NetPerf揭示容器間是高速路還是林蔭小路

Netperf概況

Netperf是一種網(wǎng)絡(luò)性能的測量工具,主要針對基于TCP或UDP的傳輸。Netperf根據(jù)應(yīng)用的不同,可以進行不同模式的網(wǎng)絡(luò)性能測試,即批量 數(shù)據(jù)傳輸(bulk data transfer)模式和請求/應(yīng)答(request/reponse)模式。Netperf測試結(jié)果所反映的是一個系統(tǒng)能夠以多快的速度向另外一個系統(tǒng) 發(fā)送數(shù)據(jù),以及另外一個系統(tǒng)能夠以多塊的速度接收數(shù)據(jù)。
Netperf工具以client/server方式工作。server端是 netserver,用來偵聽來自client端的連接,client端是netperf,用來向server發(fā)起網(wǎng)絡(luò)測試。在client與 server之間,首先建立一個控制連接,傳遞有關(guān)測試配置的信息,以及測試的結(jié)果;在控制連接建立并傳遞了測試配置信息以后,client與 server之間會再建立一個測試連接,用來來回傳遞著特殊的流量模式,以測試網(wǎng)絡(luò)的性能。

TCP網(wǎng)絡(luò)性能

由于TCP協(xié)議能夠提供端到端的可靠傳輸,因此被大量的網(wǎng)絡(luò)應(yīng)用程序使用。但是,可靠性的建立是要付出代價的。TCP協(xié)議保證可靠性的措施,如建立并維護連接、控制數(shù)據(jù)有序的傳遞等都會消耗一定的網(wǎng)絡(luò)帶寬。   
Netperf可以模擬三種不同的TCP流量模式:

  • 1) 單個TCP連接,批量(bulk)傳輸大量數(shù)據(jù)
  • 2) 單個TCP連接,client請求/server應(yīng)答的交易(transaction)方式
  • 3) 多個TCP連接,每個連接中一對請求/應(yīng)答的交易方式

UDP網(wǎng)絡(luò)性能

UDP沒有建立連接的負擔(dān),但是UDP不能保證傳輸?shù)目煽啃?,所以使用UDP的應(yīng)用程序需要自行跟蹤每個發(fā)出的分組,并重發(fā)丟失的分組。   Netperf可以模擬兩種UDP的流量模式:

  • 1) 從client到server的單向批量傳輸
  • 2) 請求/應(yīng)答的交易方式

由于UDP傳輸?shù)牟豢煽啃?,在使用netperf時要確保發(fā)送的緩沖區(qū)大小不大于接收緩沖區(qū)大小,否則數(shù)據(jù)會丟失,netperf將給出錯誤的結(jié)果。因此,對于接收到分組的統(tǒng)計不一定準(zhǔn)確,需要結(jié)合發(fā)送分組的統(tǒng)計綜合得出結(jié)論。

Netperf的命令行參數(shù)

在unix系統(tǒng)中,可以直接運行可執(zhí)行程序來啟動netserver,也可以讓inetd或xinetd來自動啟動netserver。
當(dāng)netserver在server端啟動以后,就可以在client端運行netperf來 測試網(wǎng)絡(luò)的性能。netperf通過命令行參數(shù)來控制測試的類型和具體的測試選項。根據(jù)作用范圍的不同,netperf的命令行參數(shù)可以分為兩大類:全局 命令行參數(shù)、測試相關(guān)的局部參數(shù),兩者之間使用--分隔:

netperf [global options]-- [test-specific options]

這里我們只解釋那些常用的命令行參數(shù),其它的參數(shù)讀者可以查詢netperf的man手冊。   
-H host :指定遠端運行netserver的server IP地址。   
-l testlen:指定測試的時間長度(秒)   
-t testname:指定進行的測試類型,包括TCP_STREAM,UDP_STREAM,TCP_RR,TCP_CRR,UDP_RR,在下文中分別對它們說明。在后面的測試中,netserver運行在192.168.0.28,server與client通過局域網(wǎng)連接(100M Hub)。

NetPerf安裝、使用過程

1、下載

進入/home/FUCK文件夾下輸入wget http://down1.chinaunix.net/distfiles/netperf-2.4.5.tar.gz

2、安裝

  tar -xvf netperf-2.4.5.tar.gz
  cd netperf-2.4.5
  ./configure
  make
  make install

3、測試netperf是不是可以用

    server: netserver -d 4 -L 0.0.0.0 -p 9991
    Client: netperf -l 60 -4 -f -m -t TCP_CRR -H 172.16.22.102 -p 9991 -- -r 64,64

From:https://blog.csdn.net/crisschan

關(guān)注我,關(guān)注測試
FROM:https://blog.csdn.net/crisschan

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • NetPerf揭示容器間是高速路還是林蔭小路 Netperf概況 Netperf是一種網(wǎng)絡(luò)性能的測量工具,主要針對...
    Criss陳磊閱讀 105評論 0 0
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,666評論 1 32
  • 簡介 用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據(jù)使用者...
    JasonShi6306421閱讀 1,352評論 0 1
  • 網(wǎng)絡(luò)編程 一.楔子 你現(xiàn)在已經(jīng)學(xué)會了寫python代碼,假如你寫了兩個python文件a.py和b.py,分別去運...
    go以恒閱讀 2,248評論 0 6
  • 給別人添麻煩是不是一種美德? 首先美德什么?美德是作為一個人處于社會社交關(guān)系中,被賦予美好靈魂及行為活動的一種被人...
    solar0501閱讀 1,329評論 0 0

友情鏈接更多精彩內(nèi)容