<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 167,  comments - 30,  trackbacks - 0
    Netperf使用
    轉(zhuǎn)載自:http://os.chinaunix.net/a2004/0708/1042/000001042354.shtml 
      本文首先介紹網(wǎng)絡(luò)性能測(cè)量的一些基本概念和方法,然后結(jié)合 netperf 工具的使用,具體的討論如何測(cè)試不同情況下的網(wǎng)絡(luò)性能。
      在構(gòu)建或管理一個(gè)網(wǎng)絡(luò)系統(tǒng)時(shí),我們更多的是關(guān)心網(wǎng)絡(luò)的可用性,即網(wǎng)絡(luò)是否連通,而對(duì)于其整體的性能往往考慮不多,或者即使考慮到性能的問(wèn)題,但是卻發(fā)現(xiàn)沒(méi)有合適的手段去測(cè)試網(wǎng)絡(luò)的性能。
      
      當(dāng)開(kāi)發(fā)出一個(gè)網(wǎng)絡(luò)應(yīng)用程序后,我們會(huì)發(fā)現(xiàn),在實(shí)際的網(wǎng)絡(luò)環(huán)境使用中,網(wǎng)絡(luò)應(yīng)用程序的使用效果不是很理想,問(wèn)題可能出現(xiàn)在程序的開(kāi)發(fā)上面,也有可能由于實(shí)際的網(wǎng)絡(luò)環(huán)境中存在著瓶頸。面對(duì)這種問(wèn)題,程序員一般會(huì)一籌莫展,原因就在于不掌握一些網(wǎng)絡(luò)性能測(cè)量的工具。
      
      在本文中,首先介紹網(wǎng)絡(luò)性能測(cè)量的一些基本概念和方法,然后結(jié)合 netperf 工具的使用,具體的討論如何測(cè)試不同情況下的網(wǎng)絡(luò)性能。
      
      網(wǎng)絡(luò)性能測(cè)試概述
      網(wǎng)絡(luò)性能測(cè)量的五項(xiàng)指標(biāo)
      測(cè)量網(wǎng)絡(luò)性能的五項(xiàng)指標(biāo)是:
      
      可用性(availability) 
      響應(yīng)時(shí)間(response time) 
      網(wǎng)絡(luò)利用率(network utilization) 
      網(wǎng)絡(luò)吞吐量(network throughput) 
      網(wǎng)絡(luò)帶寬容量(network bandwidth capacity) 
      1. 可用性
      
      測(cè)試網(wǎng)絡(luò)性能的第一步是確定網(wǎng)絡(luò)是否正常工作,最簡(jiǎn)單的方法是使用 ping 命令。通過(guò)向遠(yuǎn)端的機(jī)器發(fā)送 icmp echo request,并等待接收 icmp echo reply 來(lái)判斷遠(yuǎn)端的機(jī)器是否連通,網(wǎng)絡(luò)是否正常工作。
      
      Ping 命令有非常豐富的命令選項(xiàng),比如 -c 可以指定發(fā)送 echo request 的個(gè)數(shù),-s 可以指定每次發(fā)送的 ping 包大小。
      
      網(wǎng)絡(luò)設(shè)備內(nèi)部一般有多個(gè)緩沖池,不同的緩沖池使用不同的緩沖區(qū)大小,分別用來(lái)處理不同大小的分組(packet)。例如交換機(jī)中通常具有三種類(lèi)型的包緩沖:一類(lèi)針對(duì)小的分組,一類(lèi)針對(duì)中等大小的分組,還有一類(lèi)針對(duì)大的分組。為了測(cè)試這樣的網(wǎng)絡(luò)設(shè)備,測(cè)試工具必須要具有發(fā)送不同大小分組的能力。Ping 命令的 -s 就可以使用在這種場(chǎng)合。
      
      2. 響應(yīng)時(shí)間
      
      Ping 命令的 echo request/reply 一次往返所花費(fèi)時(shí)間就是響應(yīng)時(shí)間。有很多因素會(huì)影響到響應(yīng)時(shí)間,如網(wǎng)段的負(fù)荷,網(wǎng)絡(luò)主機(jī)的負(fù)荷,廣播風(fēng)暴,工作不正常的網(wǎng)絡(luò)設(shè)備等等。
      
      在網(wǎng)絡(luò)工作正常時(shí),記錄下正常的響應(yīng)時(shí)間。當(dāng)用戶(hù)抱怨網(wǎng)絡(luò)的反應(yīng)時(shí)間慢時(shí),就可以將現(xiàn)在的響應(yīng)時(shí)間與正常的響應(yīng)時(shí)間對(duì)比,如果兩者差值的波動(dòng)很大,就能說(shuō)明網(wǎng)絡(luò)設(shè)備存在故障。
      
      3. 網(wǎng)絡(luò)利用率
      
      網(wǎng)絡(luò)利用率是指網(wǎng)絡(luò)被使用的時(shí)間占總時(shí)間(即被使用的時(shí)間+空閑的時(shí)間)的比例。比如,Ethernet 雖然是共享的,但同時(shí)卻只能有一個(gè)報(bào)文在傳輸。因此在任一時(shí)刻,Ethernet 或者是 100% 的利用率,或者是 0% 的利用率。
      
      計(jì)算一個(gè)網(wǎng)段的網(wǎng)絡(luò)利用率相對(duì)比較容易,但是確定一個(gè)網(wǎng)絡(luò)的利用率就比較復(fù)雜。因此,網(wǎng)絡(luò)測(cè)試工具一般使用網(wǎng)絡(luò)吞吐量和網(wǎng)絡(luò)帶寬容量來(lái)確定網(wǎng)絡(luò)中兩個(gè)節(jié)點(diǎn)之間的性能。
      
      4. 網(wǎng)絡(luò)吞吐量
      
      網(wǎng)絡(luò)吞吐量是指在某個(gè)時(shí)刻,在網(wǎng)絡(luò)中的兩個(gè)節(jié)點(diǎn)之間,提供給網(wǎng)絡(luò)應(yīng)用的剩余帶寬。
      
      網(wǎng)絡(luò)吞吐量可以幫組尋找網(wǎng)絡(luò)路徑中的瓶頸。比如,即使 client 和 server 都被分別連接到各自的 100M Ethernet 上,但是如果這兩個(gè) 100M 的Ethernet 被 10M 的 Ethernet 連接起來(lái),那么 10M 的 Ethernet 就是網(wǎng)絡(luò)的瓶頸。
      
      網(wǎng)絡(luò)吞吐量非常依賴(lài)于當(dāng)前的網(wǎng)絡(luò)負(fù)載情況。因此,為了得到正確的網(wǎng)絡(luò)吞吐量,最好在不同時(shí)間(一天中的不同時(shí)刻,或者一周中不同的天)分別進(jìn)行測(cè)試,只有這樣才能得到對(duì)網(wǎng)絡(luò)吞吐量的全面認(rèn)識(shí)。
      
      有些網(wǎng)絡(luò)應(yīng)用程序在開(kāi)發(fā)過(guò)程的測(cè)試中能夠正常運(yùn)行,但是到實(shí)際的網(wǎng)絡(luò)環(huán)境中卻無(wú)法正常工作(由于沒(méi)有足夠的網(wǎng)絡(luò)吞吐量)。這是因?yàn)闇y(cè)試只是在空閑的網(wǎng)絡(luò)環(huán)境中,沒(méi)有考慮到實(shí)際的網(wǎng)絡(luò)環(huán)境中還存在著其它的各種網(wǎng)絡(luò)流量。所以,網(wǎng)絡(luò)吞吐量定義為剩余帶寬是有實(shí)際意義的。
      
      5. 網(wǎng)絡(luò)帶寬容量
      
      與網(wǎng)絡(luò)吞吐量不同,網(wǎng)絡(luò)帶寬容量指的是在網(wǎng)絡(luò)的兩個(gè)節(jié)點(diǎn)之間的最大可用帶寬。這是由組成網(wǎng)絡(luò)的設(shè)備的能力所決定的。
      
      測(cè)試網(wǎng)絡(luò)帶寬容量有兩個(gè)困難之處:在網(wǎng)絡(luò)存在其它網(wǎng)絡(luò)流量的時(shí)候,如何得知網(wǎng)絡(luò)的最大可用帶寬;在測(cè)試過(guò)程中,如何對(duì)現(xiàn)有的網(wǎng)絡(luò)流量不造成影響。網(wǎng)絡(luò)測(cè)試工具一般采用 packet pairs 和 packet trains 技術(shù)來(lái)克服這樣的困難。
      
      收集網(wǎng)絡(luò)性能數(shù)據(jù)的方式
      當(dāng)確定了網(wǎng)絡(luò)性能的測(cè)試指標(biāo)以后,就需要使用網(wǎng)絡(luò)測(cè)試工具收集相應(yīng)的性能數(shù)據(jù),分別有三種從網(wǎng)絡(luò)獲取數(shù)據(jù)的方式:
      
      1. 通過(guò)snmp協(xié)議直接到網(wǎng)絡(luò)設(shè)備中獲取,如net-snmp工具
      
      2. 偵聽(tīng)相關(guān)的網(wǎng)絡(luò)性能數(shù)據(jù),典型的工具是tcpdump
      
      3. 自行產(chǎn)生相應(yīng)的測(cè)試數(shù)據(jù),如本文中使用的netperf工具
      
      Netperf
      Netperf是一種網(wǎng)絡(luò)性能的測(cè)量工具,主要針對(duì)基于TCP或UDP的傳輸。Netperf根據(jù)應(yīng)用的不同,可以進(jìn)行不同模式的網(wǎng)絡(luò)性能測(cè)試,即批量數(shù)據(jù)傳輸(bulk data transfer)模式和請(qǐng)求/應(yīng)答(request/reponse)模式。Netperf測(cè)試結(jié)果所反映的是一個(gè)系統(tǒng)能夠以多快的速度向另外一個(gè)系統(tǒng)發(fā)送數(shù)據(jù),以及另外一個(gè)系統(tǒng)能夠以多塊的速度接收數(shù)據(jù)。
      
      Netperf工具以client/server方式工作。server端是netserver,用來(lái)偵聽(tīng)來(lái)自client端的連接,client端是netperf,用來(lái)向server發(fā)起網(wǎng)絡(luò)測(cè)試。在client與server之間,首先建立一個(gè)控制連接,傳遞有關(guān)測(cè)試配置的信息,以及測(cè)試的結(jié)果;在控制連接建立并傳遞了測(cè)試配置信息以后,client與server之間會(huì)再建立一個(gè)測(cè)試連接,用來(lái)來(lái)回傳遞著特殊的流量模式,以測(cè)試網(wǎng)絡(luò)的性能。
      
      TCP網(wǎng)絡(luò)性能
      由于TCP協(xié)議能夠提供端到端的可靠傳輸,因此被大量的網(wǎng)絡(luò)應(yīng)用程序使用。但是,可靠性的建立是要付出代價(jià)的。TCP協(xié)議保證可靠性的措施,如建立并維護(hù)連接、控制數(shù)據(jù)有序的傳遞等都會(huì)消耗一定的網(wǎng)絡(luò)帶寬。
      
      Netperf可以模擬三種不同的TCP流量模式:
      
      1) 單個(gè)TCP連接,批量(bulk)傳輸大量數(shù)據(jù)
      
      2) 單個(gè)TCP連接,client請(qǐng)求/server應(yīng)答的交易(transaction)方式
      
      3) 多個(gè)TCP連接,每個(gè)連接中一對(duì)請(qǐng)求/應(yīng)答的交易方式
      
      UDP網(wǎng)絡(luò)性能
      UDP沒(méi)有建立連接的負(fù)擔(dān),但是UDP不能保證傳輸?shù)目煽啃裕允褂肬DP的應(yīng)用程序需要自行跟蹤每個(gè)發(fā)出的分組,并重發(fā)丟失的分組。
      
      Netperf可以模擬兩種UDP的流量模式:
      
      1) 從client到server的單向批量傳輸
      
      2) 請(qǐng)求/應(yīng)答的交易方式
      
      由于UDP傳輸?shù)牟豢煽啃裕谑褂胣etperf時(shí)要確保發(fā)送的緩沖區(qū)大小不大于接收緩沖區(qū)大小,否則數(shù)據(jù)會(huì)丟失,netperf將給出錯(cuò)誤的結(jié)果。因此,對(duì)于接收到分組的統(tǒng)計(jì)不一定準(zhǔn)確,需要結(jié)合發(fā)送分組的統(tǒng)計(jì)綜合得出結(jié)論。
      
      Netperf的命令行參數(shù)
      在unix系統(tǒng)中,可以直接運(yùn)行可執(zhí)行程序來(lái)啟動(dòng)netserver,也可以讓inetd或xinetd來(lái)自動(dòng)啟動(dòng)netserver。
      
      當(dāng)netserver在server端啟動(dòng)以后,就可以在client端運(yùn)行netperf來(lái)測(cè)試網(wǎng)絡(luò)的性能。netperf通過(guò)命令行參數(shù)來(lái)控制測(cè)試的類(lèi)型和具體的測(cè)試選項(xiàng)。根據(jù)作用范圍的不同,netperf的命令行參數(shù)可以分為兩大類(lèi):全局命令行參數(shù)、測(cè)試相關(guān)的局部參數(shù),兩者之間使用--分隔:
      
      netperf [global options]-- [test-specific options]
      
      這里我們只解釋那些常用的命令行參數(shù),其它的參數(shù)讀者可以查詢(xún)netperf的man手冊(cè)。
      
      -H host :指定遠(yuǎn)端運(yùn)行netserver的server IP地址。
      
      -l testlen:指定測(cè)試的時(shí)間長(zhǎng)度(秒)
      
      -t testname:指定進(jìn)行的測(cè)試類(lèi)型,包括TCP_STREAM,UDP_STREAM,TCP_RR,TCP_CRR,UDP_RR,在下文中分別對(duì)它們說(shuō)明。
      
      在后面的測(cè)試中,netserver運(yùn)行在192.168.0.28,server與client通過(guò)局域網(wǎng)連接(100M Hub)。
      
      Netperf測(cè)試網(wǎng)絡(luò)性能
      測(cè)試批量(bulk)網(wǎng)絡(luò)流量的性能
      
      批量數(shù)據(jù)傳輸?shù)湫偷睦佑衒tp和其它類(lèi)似的網(wǎng)絡(luò)應(yīng)用(即一次傳輸整個(gè)文件)。根據(jù)使用傳輸協(xié)議的不同,批量數(shù)據(jù)傳輸又分為T(mén)CP批量傳輸和UDP批量傳輸。
      
      1. TCP_STREAM
      
      Netperf缺省情況下進(jìn)行TCP批量傳輸,即-t TCP_STREAM。測(cè)試過(guò)程中,netperf向netserver發(fā)送批量的TCP數(shù)據(jù)分組,以確定數(shù)據(jù)傳輸過(guò)程中的吞吐量:
      
       ./netperf -H 192.168.0.28 -l 60
      TCP STREAM TEST to 192.168.0.28
      Recv  Send  Send
      Socket Socket Message Elapsed
      Size  Size  Size   Time   Throughput
      bytes bytes  bytes  secs.  10^6bits/sec
     
       87380 16384 16384  60.00   88.00
     
      從netperf的結(jié)果輸出中,我們可以知道以下的一些信息:
      
      1) 遠(yuǎn)端系統(tǒng)(即server)使用大小為87380字節(jié)的socket接收緩沖
      
      2) 本地系統(tǒng)(即client)使用大小為16384字節(jié)的socket發(fā)送緩沖
      
      3) 向遠(yuǎn)端系統(tǒng)發(fā)送的測(cè)試分組大小為16384字節(jié)
      
      4) 測(cè)試經(jīng)歷的時(shí)間為60秒
      
      5) 吞吐量的測(cè)試結(jié)果為88Mbits/秒
      
      在缺省情況下,netperf向發(fā)送的測(cè)試分組大小設(shè)置為本地系統(tǒng)所使用的socket發(fā)送緩沖大小。
      
      TCP_STREAM方式下與測(cè)試相關(guān)的局部參數(shù)如下表所示:
      
     

      通過(guò)修改以上的參數(shù),并觀察結(jié)果的 。






    posted on 2013-01-21 12:31 David1228 閱讀(458) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 網(wǎng)絡(luò)

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    <2013年1月>
    303112345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(4)

    隨筆分類(lèi)

    隨筆檔案

    文章檔案

    新聞分類(lèi)

    新聞檔案

    相冊(cè)

    收藏夾

    Java

    Linux知識(shí)相關(guān)

    Spring相關(guān)

    云計(jì)算/Linux/虛擬化技術(shù)/

    友情博客

    多線程并發(fā)編程

    開(kāi)源技術(shù)

    持久層技術(shù)相關(guān)

    搜索

    •  

    積分與排名

    • 積分 - 358616
    • 排名 - 154

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 8x8x华人永久免费视频| 麻豆视频免费观看| 亚洲视频免费播放| 成人毛片18女人毛片免费 | 国产成人精品免费大全| 亚洲福利视频导航| 免费观看的av毛片的网站| 中国性猛交xxxxx免费看| 亚洲成a人片在线网站| 亚洲不卡AV影片在线播放| 国产精品白浆在线观看免费| 亚洲AV无码成人专区| 久久久久亚洲av毛片大| 黄页网站在线看免费| 中文字幕在线免费看| 亚洲欧美日韩久久精品| 亚洲成A人片在线观看无码不卡| 毛片免费在线播放| 免费萌白酱国产一区二区三区 | 亚洲色婷婷一区二区三区| 国拍在线精品视频免费观看 | 一区二区三区免费在线视频 | 久久成人免费播放网站| 亚洲国产成人久久精品软件| 亚洲国产精品无码AAA片| 国产无遮挡吃胸膜奶免费看| 最近在线2018视频免费观看| 一级一级一片免费高清| 亚洲色无码国产精品网站可下载| 亚洲AV无码专区在线播放中文| 国产美女做a免费视频软件| 中文字幕亚洲免费无线观看日本 | 日本一道本高清免费| 在线免费中文字幕| 最近的2019免费中文字幕| 亚洲AV无码精品国产成人| 久久久久久久亚洲Av无码| 亚洲色婷婷一区二区三区| www.亚洲精品| 成年轻人网站色免费看| **毛片免费观看久久精品|