網(wǎng)絡(luò)設(shè)備性能指標(biāo)小結(jié)
訊道通信工程
訊道通信,是一家專業(yè)從事網(wǎng)絡(luò)信息應(yīng)用平臺(tái)組建研發(fā),致力于數(shù)字化城市和智慧城市建設(shè)中計(jì)算機(jī)中心機(jī)房、安防監(jiān)控、智能樓宇、數(shù)字化信息應(yīng)用等領(lǐng)域的系統(tǒng)設(shè)計(jì)、工程服務(wù)、軟硬件開發(fā)、運(yùn)營維護(hù)的完整解決方案提供商。
001/ 線速和包轉(zhuǎn)發(fā)率的換
線速的定義:是指網(wǎng)絡(luò)設(shè)備的端口上每秒鐘傳輸?shù)?進(jìn)制數(shù)個(gè)數(shù),單位為:bit per second,即bps。
這也就是我們通常會(huì)看到的,比如:
-
a、通常說的100M的網(wǎng)卡就是說的該網(wǎng)卡的網(wǎng)口線速為100Mbps;
-
b、家里面開的寬帶,比如電信說的是2M的寬帶,說的是給我們開的端口線速度為2Mbps。
注意:電腦上的文件下載速度計(jì)算通常是以字節(jié)每秒為單位的,即:
byte per second。為了與線速度的bps相區(qū)分,通常將其記為Bps。這兩個(gè)單位很多人都搞不清怎么回事,一個(gè)大寫,一個(gè)小寫,其實(shí)是兩碼事。因?yàn)?byte=8bit,所以二者是8倍關(guān)系,即1Bps=8bps。
包轉(zhuǎn)發(fā)率 :包轉(zhuǎn)發(fā)率的含義是每秒鐘內(nèi)所轉(zhuǎn)發(fā)的數(shù)據(jù)包的個(gè)數(shù),即packet per second,記做pps。
這里的數(shù)據(jù)包packet和字節(jié)byte有個(gè)對應(yīng)關(guān)系,
1packet=64byte。
為什么是64呢?這是個(gè)定義,
網(wǎng)絡(luò)中1個(gè)數(shù)據(jù)包最小包含64字節(jié)。
下面我們計(jì)算一下一個(gè)1000Mbps的線速端口其最大包轉(zhuǎn)發(fā)率。
計(jì)算之前還要講一點(diǎn),就是我們的數(shù)據(jù)包在網(wǎng)絡(luò)上傳輸不是裸的數(shù)據(jù)包在傳輸,而是每個(gè)數(shù)據(jù)包都要加上8byte的幀頭和12byte的幀間隙。每傳輸一個(gè)數(shù)據(jù)包就需要傳輸
64+8+12=84byte。
那1000Mbps線速端口的包轉(zhuǎn)發(fā)率:
此算法,可以得出以下常用線速端口的包轉(zhuǎn)發(fā)率:
002/背板帶寬和整機(jī)包轉(zhuǎn)發(fā)率
背板帶寬(也稱轉(zhuǎn)發(fā)帶寬)
背板可以理解為交換機(jī)或路由器內(nèi)部的一條數(shù)據(jù)總線。設(shè)備端口間的數(shù)據(jù)交換都在總線上傳輸。好比一條高速公路,連接了若干城市,城市之間的交通流量都需要從該高速公路上通過。那背板帶寬就是高速公路的最大無阻塞交通流量(當(dāng)然我們要假設(shè)高速公路上的車輛都是以恒定的最高速度在行駛)。背板帶寬是背板的物理屬性,其單位為bps,和端口線速的單位一樣。
整機(jī)包轉(zhuǎn)發(fā)率(也稱吞吐量)
將高速公路所連接的所有城市看做一個(gè)交通系統(tǒng),整機(jī)包轉(zhuǎn)發(fā)率相當(dāng)于進(jìn)出所有城市的交通流量之和。即:該網(wǎng)絡(luò)設(shè)備所有端口的雙向(雙工)包轉(zhuǎn)發(fā)率之和。
整機(jī)包轉(zhuǎn)發(fā)率是一個(gè)極限指標(biāo),即網(wǎng)絡(luò)設(shè)備在所有端口滿配,并工作在端口的最高線速的情況下的一個(gè)指標(biāo)。
衡量一臺(tái)網(wǎng)絡(luò)設(shè)備的性能
根據(jù)以上所講的內(nèi)容,我們可以對一些網(wǎng)絡(luò)設(shè)備進(jìn)行性能評估。
-
1、理論計(jì)算Cisco2950G-48
-
比如Cisco 2950G-48交換機(jī),具有2個(gè)千兆以太網(wǎng)接口和48個(gè)百兆以太網(wǎng)接口。那么其背板帶寬至少應(yīng)該是:
(才能滿足該交換機(jī)所有端口的無阻塞交換。之所以要乘以2是因?yàn)槎丝诙际侨p工的,收發(fā)都在工作,都在傳輸數(shù)據(jù)。)
對應(yīng)整機(jī)包轉(zhuǎn)發(fā)率應(yīng)該是:
(之所以 除以2 是因?yàn)榘D(zhuǎn)發(fā)率是一個(gè)雙工的概念)
解讀宣傳參數(shù),選擇自己合適的產(chǎn)品
理論上將,一臺(tái)網(wǎng)絡(luò)設(shè)備的端口數(shù)量、背板帶寬、整機(jī)包轉(zhuǎn)發(fā)率參數(shù)要匹配才能算作合格,但是往往不是這樣的。因?yàn)楦叨说木W(wǎng)絡(luò)設(shè)備通常采用了模塊化設(shè)計(jì),廠家為了使自己的宣傳資料看起來更好看,往往夸大了其產(chǎn)品性能。通常廠方的解釋是“把每個(gè)板卡內(nèi)部的交換能力也納入了整機(jī)的性能計(jì)算”。
因此在選擇網(wǎng)絡(luò)設(shè)備時(shí),要根據(jù)自己的應(yīng)用需要,使用設(shè)備的終期端口配置為依據(jù),計(jì)算背板帶寬和包轉(zhuǎn)發(fā)率,并留夠參數(shù)余量,選擇自己需要的產(chǎn)品。
003/ 測量網(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. 可用性
測試網(wǎng)絡(luò)性能的第一步是確定網(wǎng)絡(luò)是否正常工作,最簡單的方法是使用 ping 命令。通過向遠(yuǎn)端的機(jī)器發(fā)送 icmp echo request,并等待接收 icmp echo reply 來判斷遠(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ū)大小,分別用來處理不同大小的分組(packet)。例如交換機(jī)中通常具有三種類型的包緩沖:一類針對小的分組,一類針對中等大小的分組,還有一類針對大的分組。為了測試這樣的網(wǎng)絡(luò)設(shè)備,測試工具必須要具有發(fā)送不同大小分組的能力。Ping 命令的 -s 就可以使用在這種場合。
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)用戶抱怨網(wǎng)絡(luò)的反應(yīng)時(shí)間慢時(shí),就可以將現(xiàn)在的響應(yīng)時(shí)間與正常的響應(yīng)時(shí)間對比,如果兩者差值的波動(dòng)很大,就能說明網(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ò)利用率相對比較容易,但是確定一個(gè)網(wǎng)絡(luò)的利用率就比較復(fù)雜。因此,網(wǎng)絡(luò)測試工具一般使用網(wǎng)絡(luò)吞吐量和網(wǎng)絡(luò)帶寬容量來確定網(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 連接起來,那么 10M 的 Ethernet 就是網(wǎng)絡(luò)的瓶頸。
網(wǎng)絡(luò)吞吐量非常依賴于當(dāng)前的網(wǎng)絡(luò)負(fù)載情況。因此,為了得到正確的網(wǎng)絡(luò)吞吐量,最好在不同時(shí)間(一天中的不同時(shí)刻,或者一周中不同的天)分別進(jìn)行測試,只有這樣才能得到對網(wǎng)絡(luò)吞吐量的全面認(rèn)識。
有些網(wǎng)絡(luò)應(yīng)用程序在開發(fā)過程的測試中能夠正常運(yùn)行,但是到實(shí)際的網(wǎng)絡(luò)環(huán)境中卻無法正常工作(由于沒有足夠的網(wǎng)絡(luò)吞吐量)。這是因?yàn)闇y試只是在空閑的網(wǎng)絡(luò)環(huán)境中,沒有考慮到實(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è)備的能力所決定的。
測試網(wǎng)絡(luò)帶寬容量有兩個(gè)困難之處:在網(wǎng)絡(luò)存在其它網(wǎng)絡(luò)流量的時(shí)候,如何得知網(wǎng)絡(luò)的最大可用帶寬;在測試過程中,如何對現(xiàn)有的網(wǎng)絡(luò)流量不造成影響。網(wǎng)絡(luò)測試工具一般采用 packet pairs 和 packet trains 技術(shù)來克服這樣的困難。
收集網(wǎng)絡(luò)性能數(shù)據(jù)的方式:
當(dāng)確定了網(wǎng)絡(luò)性能的測試指標(biāo)以后,就需要使用網(wǎng)絡(luò)測試工具收集相應(yīng)的性能數(shù)據(jù),分別有三種從網(wǎng)絡(luò)獲取數(shù)據(jù)的方式:
-
通過snmp協(xié)議直接到網(wǎng)絡(luò)設(shè)備中獲取,如net-snmp工具
-
偵聽相關(guān)的網(wǎng)絡(luò)性能數(shù)據(jù),典型的工具是tcpdump
-
自行產(chǎn)生相應(yīng)的測試數(shù)據(jù),如netperf工具