性能評價(performance cvaluation)是計算機網路和計算機系統研究與套用的重要理論基礎和支撐技術,是通信和計算機科學領域的重要研究方向,也是一門理論與實踐緊密相連、內容豐富、體系完整的學科。計算機網路性能評價的目的主要有三個:選擇、改進和設計。
基本介紹
- 中文名:計算機網路性能評估
- 外文名:Computer network performance evaluation
- 學科:計算機科學與技術
- 類別:計算機網路
- 目的:選擇、改進和設計
- 性能:可靠性、效率
基本概念,分析方法,網路檢測評估內容,綜合布線系統的測試,網路性能的統計分析,統計分析的局限性,基於路徑的網路性能基準測試,P類型的數據包,連通性,泊松取樣,延遲,數據包丟失,吞吐量,
基本概念
計算機和計算機網路是21世紀人類的偉大創造。當我們跨進21世紀的大門,驀然回首,發現沒有哪個發明像計算機和計算機網路這樣對整個人類文明和社會進步發生了和發生著如此巨大、如此深刻的影響。計算機網路和計算機系統已經成為現代信息社會最重要的基礎設施之一,其套用已遍布社會的各個領域,成為國家發展和社會進步的基本需求,是知識經擠的基本載體和支撐環境。
性能評價(performance cvaluation)是計算機網路和計算機系統研究與套用的重要理論基礎和支撐技術,是通信和計算機科學領域的重要研究方向,也是一門理論與實踐緊密相連、內容豐富、體系完整的學科。在國外,性能評價技術的研究和套用都十分廣泛,另外,性能評價也是國外計算機、通信、信息科學等專業大學高年級學生和研究生的必修課程之一。而在國內,性能評價技術的教學與科一研都亟待加強。
計算機網路性能評價的目的主要有三個:選擇、改進和設計。具體而言,是指在眾多的系統(方案)中選擇一個最適合需要的系統(方案),即在一定的價格範圍內選擇性能最好的系統,達到較好的性能/價格比;對已有系統的性能缺陷和瓶頸進行改進和提高其運行效率;對未來設計的系統進行性能預測,在性能成本方面實現最佳設計或配置。
計算機網路的性能一般包括以下兩個大的方面:一個方面是它的可靠性或可利用性,亦即,計算機系統能正常工作的時間,其指標可以是能夠持續工作的時間長度,如平均無故障時間,也可以是在一段時間內,能正常工作的時間所占的百分比。另一方面是它的處理能力或效率。
分析方法
對網路性能分析的方法有三種:測量監測技術、數學分析方法、計算機模擬仿真分析。因此,我們可把網路性能評估模型分為三大類:
(1)測量模型
(2)仿真模型
(3)分析模型。
測量是作用在實際系統、實際運行條件下的,因此,它的性能分析模型也就是實際運行的網路,這就提供了在特定條件下實際被觀測系統的真實性能。然而,這樣的模型並不具有普遍意義,因為它極大地依賴於被觀測系統的具體細節,並與被測系統在測量期間所承擔的特定負載有關。當我們需要比較兩個網路的特性時,基於測量的結果是不可信的,因為無法保證在測量時兩個網路模型的運行條件會完全等價。
後兩種模型描述的是系統中那些重要的特徵。在仿真模型中,這種描述由電腦程式給出,而在數學模型中,這種描述由數學表達式給出。
模型(包括仿真模型和分析模型)可以是隨機的或確定性的。大部分我們感興趣的系統都呈現出一種確定性行為(它們滿足這樣一個事實,即當以同樣的輸入數據運行同一個程式時,總可獲得相同的結果),但使用簡單的機率假設來描述一個非常複雜的系統比起用詳細的確定性行為來描述它來得更加容易。因為確定性行為不容易獲得,或者即使可得到,但將導致一個非常複雜的模型,因此,上述的方法經常被採用。進一步,由於機率論方法可提供嚴格的、充分精確的數學解,並可產生更具有普遍意義的結果,而且還可用來研究性能對參數變化的敏感性,因此,機率論方法體現了其卓越的特性。
在建模過程中,最關鍵的因素在於選擇好模型的抽象程度以及模型中應包含系統的那些特性。這種選擇,目前還沒有規律可循,主要依靠於對系統特性分析的精確和經驗。對分析模型的建模不同於仿真模型,仿真模型總是在建模過程中不斷的細化,以使其更逼近於真實模型,而分析模型則是變得更抽象、更便於建立數學關係式。
網路檢測評估內容
每個實際的網路是千差萬別,使用的網路技術也有很大的不同,如何制定可操作性強的網路檢測標準是難點之一。根據網路實際測試和網路工程監理中積累的經驗,網路檢測應該面向網路模型的下三層。我們將網路檢測的目的定位於檢測網路的下三層是否存在問題,然後主要從以下幾個方面問題進行檢測。
綜合布線系統的測試
首先,我們考慮到一個網路是由線纜、接口仁網路互連設備、主機構成吮而一個網路的正常運行,綜合布線合格是最起碼的要求因此應該對布線進行測試通過綜合布線的測試,保證布線是符合標準的。
網路性能的統計分析
在網路的實際測試和管理維護中,網路的利用率嘆網路碰撞率網路錯誤率延遲碰撞網路廣播率、網路中各網段的負載均衡等對網路性能、網路運行狀況有很好的指示作用,有利於網路異常情況和網路正常情況的對比。
(1)網路利用率:我們發現當網路的利用率平均值達到40%或瞬間有70%的持續峰值,網路性能將急速下降因此一個正常的網路利用率的平均值不應超過40%,不得有超過70%的持續峰值。
(2)網路錯誤率:當一個網路出現過多的錯誤幀時,將嚴重影響網路的性能通過對錯誤幀的分析,有時可以找到錯誤幀的來源,有利於網路故障的定位。
(3)播率太大,會嚴重影響網路的性能。因此,一個網路中應該儘量避免廣播風暴。
(4)延遲碰撞:如果發現有延遲碰撞,很可能是由於網路違反了IEEE802.3的規範。
(5)網路碰撞率:如果碰撞太多,將使網路效率變低。
統計分析的局限性
最初我們想僅通過收集實際的網路數據、研究網路運行重要參數的數值範圍這種手段,來制定網路檢測評估標準但在實際的網路檢測中發現,由於統計分析主要反映了數據鏈路層的狀況,而很難解決以下問題:
(1)子網的劃分是否正確;
(2)網路中的數據包的丟失情況;
(3)路由設定問題;
(4)網路的擁塞控制能力;
(5)端到端的吞吐量。
而這些方面對於考察一個網路的設計和性能是必不可少吮例如,一個網路,端到端的吞吐量是用戶最為關心的。對於許多套用而言,吞吐量支配了整個套用的持續時間,這決定了用戶的能夠感覺到的性能但通過統計分析的手段很難檢測出端到端的吞吐量。
基於路徑的網路性能基準測試
P類型的數據包
許多基於路徑的網路性能參數的基本屬性是依賴於測量用的數據包類型的。考慮一個連通性度量:可能會得到不同的結果,這依賴於是否測試數據被發到一個眾所周知的連線埠上,還是不加限制的UDP連線埠,或使用無效的IP校驗碼,或TLL等於16。因為這種差別,我們引入了P類型這個一般性概念這樣,我們可以討論通常的P類型連通性或更具體的IP—連線埠—HTTP—連通性,一些度量和方法論可能大量使用P類型來定義,然後在實際測量時,實際類型再作具體定義。
只要一個度量的值依賴於數據包的類型,度量的名字應該包括定義的類型或前綴P類型這樣我們不定義連通性,而是P類型連通性,或者,是“IP—連線埠—HT-TP連通性”度量這種命名約定起到了一個重要的提示:必須有意識地選擇測量用的合適類型的數據包。
連通性
引入連通性,可以檢測網路的連通狀況,可以檢測一個網路的子網劃分情況,能夠發現部分路由設定問題通過連通性測試還可以測試防火牆或路由器過濾等功能,而這些是很難用其它方式測試吮在連通性的定義中,沒有指明某個特定的類型,而是使用一個P類型,它是根據路徑的實際情況定義吮如果在測試防火牆時,PING( ICMP)數據包類型可能不能通過防火牆,而HTTP數據包則可以通過。
泊松取樣
經過研究,在取樣時,使用泊松取樣是有效的。
取樣的主要原因是來看被測量的度量中存在什麼類型的變差和密度這些變差可能與網路的不同節點或不同的測量時間有戈一個平常的收集樣本的方法是在固定的時間間隔內單獨進行測量:周期取株周期取樣是特別吸引人的,因為它簡單,但是有兩個潛在的問題:
(1)如果要檢測的度量自身展現為周期行為,很可能出現取樣所觀測到的只是其周期行為的一部分;
(2)重複周期性的擾亂可能使網路進入一個同步狀態,放大了個別很小的影響。
一個更合理的途徑是基於隨機的取樣:樣本被獨立的、隨機產生的間隔所分離隨機添加取樣帶來了顯著的好處,因為取樣不是發生在固定的時間間隔內。而泊松取樣能夠很好地滿足上面的條件如果G(t)是一個具有比率λ,指數分布,可以證明
產生的新的樣本的到達是不可預期的,更進一步,即使是取樣行動影響了網路狀態,也是漸進無偏差的,這種取樣稱為泊松取株它不傾向於產生同步,它可以用來精確的收集具有周期行為的測量值因此,用泊松取樣來收集網路測量樣本。
按照泊松過程定義的樣本既避免了自同步的影響,也捕獲了一個具有統計的儘可能無偏差的樣本泊松過程是用來確定度量的測量時間。既然它們受網路影響,一個測試包不是依照泊松分布到達Dst,回響數據包也不是依照泊松分布到達Src。
延遲
引入路徑的延遲的原因如下:
如果端到端的主機間的延遲與某個域值相差很大時,許多應用程式不能很好的執行;延遲的不確定變化使得支持許多實時套用變得困難或不可能;延遲越大,對於傳輸層的協定支持高頻寬變得越困難;延遲的最小值提供一個當穿越的路徑是低負載情況下的延遲的指示;大於最小值的延遲表示路徑上存在阻塞。
通過測試一條路徑的延遲還可以發現部分設定不正確的路由。例如如果延遲過大,有可能是路由設定有問題,當然,延遲過大也很可能是由網路的持續擁塞造成的,因此延遲可以很好的體現網路的擁塞控制能九我們在延遲測試中發現多數路徑的延遲都小於5ms,延遲很大的現象是很少見的,延遲很大表明網路發生了擁塞或頻繁發生了碰撞一般一條只經過交換設備的路徑上的延遲起伏不大,而一條經過共享式設備的路徑,在網路利用率較高時,延遲之間的差別則比較大同時我們在實驗中發現延遲的中值能更好地指示出網路的持續擁塞程度或網路的碰撞率在往返延遲中,除了來迴路徑上的延遲外,還包括設備的回響時間。設備的回響時間,特別是伺服器的回響時間,對網路性能的影響也是很大的。
數據包丟失
定義路徑上的數據包丟失的原因如下:
如果端到端的數據包丟失大於某個閡值,一些套用不能很好地執行;過多的數據包丟失,將使得支持實時套用變得困難;數據包丟失的越多,對於傳輸層協定來說,支持高頻寬將更加困難。
由於計算數據包丟失時是取均值,因此數據包丟失實際上是計算的數據包丟失率。
吞吐量
在網路中,端到端的吞吐量是用戶最為關心吮對於許多套用而言,吞吐量支配了整個套用的持續時間,這決定了用戶能夠感覺到的性能如何選擇一組好的度量來衡量一個網路性能的好壞是一個很重要的問題國外有很多人正在研究網路的吞吐量同延遲和包的丟失率之間的關係從研究結果來看,吞吐量同延遲包的丟失率之間有密切的關係。
RFC2581定義了這些TCP執行所使用的標準擁塞控制算法雖然這個文檔是一個標準,它還是在運行時允許有相當大的自由,這種自由在設計上鼓勵使用在擁塞控制算法中的所進行的最新進展。這種傳輸算法的多樣性為吞吐量度量的標準化設定了一個難題,因為允許的多樣性將導致了以下形勢;不同的執行將產生了度量的不可對比性,這將潛在地使測試失賤因此,每個吞吐量度量必須比經典的IETF協定更緊密的定義,應該收集一些對分析吞吐量模型有潛在用處的輔助度量。