應用系統(tǒng)的運行最終都落到CPU、MEN、DISK和NET上,上兩篇我們了解了CPU和IO(包括操作系統(tǒng)IO和DISK的IO),這一篇我們來了解一下NET對系統(tǒng)性能和系統(tǒng)性能測試的影響。
------以下內(nèi)容,來源于網(wǎng)絡------
計算機網(wǎng)絡的性能
(1)速率
計算機發(fā)送出的信號都是數(shù)字形式的。比特是計算機中數(shù)據(jù)量的單位,也是信息論中使用的信息量的單位。英文字bit來源于binary digit,意思是一個“二進制數(shù)字”,因此一個比特就是二進制數(shù)字中的一個1或0。網(wǎng)絡技術(shù)中的速率指的是連接在計算機網(wǎng)絡上的主機在數(shù)字信道上傳送數(shù)據(jù)的速率,它也稱為數(shù)據(jù)率(data rate)或比特率(bit rate)。速率是計算機網(wǎng)絡中最重要的一個性能指標。速率的單位是bit/s(比特每秒)(即bit per second)?,F(xiàn)在人們常用更簡單的并且是很不嚴格的記法來描述網(wǎng)絡的速率,如100M以太網(wǎng),它省略了單位中的bit/s,意思是速率為100Mbit/s的以太網(wǎng)。
(2)帶寬
“帶寬”有以下兩種不同的意義。
① 帶寬本來是指某個信號具有的頻帶寬度。信號的帶寬是指該信號所包含的各種不同頻率成分所占據(jù)的頻率范圍。例如,在傳統(tǒng)的通信線路上傳送的電話信號的標準帶寬是3.1kHz(從300Hz到3.4kHz,即話音的主要成分的頻率范圍)。這種意義的帶寬的單位是赫(或千赫,兆赫,吉赫等)。
② 在計算機網(wǎng)絡中,帶寬用來表示網(wǎng)絡的通信線路所能傳送數(shù)據(jù)的能力,因此網(wǎng)絡帶寬表示在單位時間內(nèi)從網(wǎng)絡中的某一點到另一點所能通過的“最高數(shù)據(jù)率”。這里一般說到的“帶寬”就是指這個意思。這種意義的帶寬的單位是“比特每秒”,記為bit/s。
我們說的帶寬和我們通常的數(shù)據(jù)量并不是直接相等的關(guān)系,數(shù)據(jù)量的單位是Bytes,所以存在單位之間的換算關(guān)系。
(3)吞吐量
吞吐量表示在單位時間內(nèi)通過某個網(wǎng)絡(或信道、接口)的數(shù)據(jù)量。吞吐量更經(jīng)常地用于對現(xiàn)實世界中的網(wǎng)絡的一種測量,以便知道實際上到底有多少數(shù)據(jù)量能夠通過網(wǎng)絡。顯然,吞吐量受網(wǎng)絡的帶寬或網(wǎng)絡的額定速率的限制。例如,對于一個100Mbit/s的以太網(wǎng),其額定速率是100Mbit/s,那么這個數(shù)值也是該以太網(wǎng)的吞吐量的絕對上限值。因此,對100Mbit/s的以太網(wǎng),其典型的吞吐量可能也只有70Mbit/s。有時吞吐量還可用每秒傳送的字節(jié)數(shù)或幀數(shù)來表示。
(4)時延
時延是指數(shù)據(jù)(一個報文或分組,甚至比特)從網(wǎng)絡(或鏈路)的一端傳送到另一端所需的時間。時延是個很重要的性能指標,它有時也稱為延遲或遲延。網(wǎng)絡中的時延是由以下幾個不同的部分組成的。
① 發(fā)送時延。
發(fā)送時延是主機或路由器發(fā)送數(shù)據(jù)幀所需要的時間,也就是從發(fā)送數(shù)據(jù)幀的第一個比特算起,到該幀的最后一個比特發(fā)送完畢所需的時間。
因此發(fā)送時延也叫做傳輸時延。發(fā)送時延的計算公式是:
發(fā)送時延=數(shù)據(jù)幀長度(bit/s)/信道帶寬(bit/s)
由此可見,對于一定的網(wǎng)絡,發(fā)送時延并非固定不變,而是與發(fā)送的幀長(單位是比特)成正比,與信道帶寬成反比。
② 傳播時延。
傳播時延是電磁波在信道中傳播一定的距離需要花費的時間。傳播時延的計算公式是:
傳播時延=信道長度(m)/電磁波在信道上的傳播速率(m/s)
電磁波在自由空間的傳播速率是光速,即3.0×10km/s。電磁波在網(wǎng)絡傳輸媒體中的傳播速率比在自由空間要略低一些。
③ 處理時延。
主機或路由器在收到分組時要花費一定的時間進行處理,例如分析分組的首部,從分組中提取數(shù)據(jù)部分,進行差錯檢驗或查找適當?shù)穆酚傻龋@就產(chǎn)生了處理時延。
④ 排隊時延。
分組在經(jīng)過網(wǎng)絡傳輸時,要經(jīng)過許多的路由器。但分組在進入路由器后要先在輸入隊列中排隊等待處理。在路由器確定了轉(zhuǎn)發(fā)接口后,還要在輸出隊列中排隊等待轉(zhuǎn)發(fā)。這就產(chǎn)生了排隊時延。
這樣,數(shù)據(jù)在網(wǎng)絡中經(jīng)歷的總時延就是以上四種時延之和:
總時延=發(fā)送時延+傳播時延+處理時延+排隊時延
(5)時延帶寬積
把以上討論的網(wǎng)絡性能的兩個度量—傳播時延和帶寬相乘,就得到另一個很有用的度量:傳播時延帶寬積,即時延帶寬積=傳播時延×帶寬。
(6)往返時間(RTT)
在計算機網(wǎng)絡中,往返時間也是一個重要的性能指標,它表示從發(fā)送方發(fā)送數(shù)據(jù)開始,到發(fā)送方收到來自接收方的確認(接受方收到數(shù)據(jù)后便立即發(fā)送確認)總共經(jīng)歷的時間。
當使用衛(wèi)星通信時,往返時間(RTT)相對較長。
(7)利用率
利用率有信道利用率和網(wǎng)絡利用率兩種。信道利用率指某信道有百分之幾的時間是被利用的(有數(shù)據(jù)通過),完全空閑的信道的利用率是零。網(wǎng)絡利用率是全網(wǎng)絡的信道利用率的加權(quán)平均值。
OK,上面的知識我們對網(wǎng)絡有了一個基本的認識,下面我們來討論一下,網(wǎng)絡對應用系統(tǒng)性能和性能測試的影響。
首先一個問題,應用系統(tǒng)之間的通訊就需要用到網(wǎng)絡,假設(shè)一個應用系統(tǒng)向另一個應用服務器單次發(fā)送的數(shù)據(jù)報文是0.6MB,接收報文是0.4MB,那么他們之間的并發(fā)能支撐到多少呢?
回答這個問題就需要首先考察網(wǎng)絡環(huán)境了。
首先,要注意的就是網(wǎng)絡單位和 數(shù)據(jù)單位的換算
假設(shè) 這兩個 應用之間的網(wǎng)絡是100M,我們來看看怎么來計算理論的并發(fā)值。
100M的網(wǎng)絡實際是 100M bit
1MB實際是 1M Bytes
1 Bytes =? 8 bit
1MB = 8M bit
ok,那么100M = 100 M bit = 12.5MB (MBytes)
那么,上面的這個案例實際并發(fā)數(shù)應該是 12.5/(0.6+0.4)= 12
數(shù)據(jù)通訊的收發(fā)數(shù)據(jù)報文大小不能超過數(shù)據(jù)通道的大小,超過了就會造成通道的擁堵。
在做性能測試的時候也是一樣,需要注意 施壓測試機 發(fā)送和接收的 數(shù)據(jù)包 大小不能超過管道的容量大小限制,超過限制就會造成數(shù)據(jù)的擁堵,導致施壓機 加壓上不去,這樣的測試沒有意義。
除了數(shù)據(jù)包的大小限制,還應該注意一點
響應時間
響應時間是指 數(shù)據(jù)從客戶端 發(fā)出 到客戶端 接收服務端的響應完畢的過程所消耗的時間。
其他的可能與性能測試相關(guān)的有時延
時延
性能測試一般關(guān)注的是整體時延,只有在調(diào)優(yōu)的時候才會更細致的區(qū)分應用各自的處理時延。