性能報告之路由器性能 Benchmark 評估
前言:
本報告目的是測試企業內部用的TP-LINK TL-R478G+的性能,是標準的benchmark過程。
這個路由器市場價600塊錢左右,定位是中小企業內部使用。
如果是做骨干網級的高端網絡設備測試,還有高端的大型硬件網絡測試儀。
對于網絡設備的測試,在選型、驗收這樣的目標下,可以參考這篇文章
正文
3.2. 測試目標
測試路由器的如下性能能力:
WLAN->LAN包轉發性能。
WAN->LAN單工吞吐量。
LAN->LAN單工吞吐量。
LAN->LAN雙工平均吞吐量。
3.3. 術語和縮略語
術語/縮略詞
說明
包轉發率
單位是pps(包每秒),每秒鐘路由器能轉發的數據包的數量
吞吐量(帶寬)
待測對象所能達到的最大數據傳輸速率。單位:Mbps
3.4.3.網絡環境
網絡設備
帶寬
型號
路由器
1000M
TP-LINK TL-R478G+
交換機
100M
華為S3700-28TP-SI(AC)
3.5. 測試工具
名稱
說明
IxChariot 6.70
業界著名的多功能網絡業務測試軟件
Endpoint 7.10
充分利用運行主機的資源,執行Chariot控制臺發布的Script命令,從而完成需要的測試
4.測試執行與結果
4.1. WAN->LAN包轉發性能
1. 測試目的
獲取待測路由器Wan->Lan所能達到的最大包轉發率
2. 測試拓撲
3. 測試條件
性能指標
測試條件設置
包轉發率
多條規劃,不同數據包大小
數據包:64B、128B、256B、512B、1024B、1514B
多條規劃:100規則
協議:TCP
4. 測試方法
測試軟件使用IxChariot,測試腳本采用High_Performance_Throughput,Pair數量為100。IxChariot是一款被普遍使用的網絡負載測試工具,對High_Performance_Throughput腳本進行修改,我們可以設置不同大小并讓Endpoint1-> Endpoint2發送數據包,Pair數量被設定在100是因為我們在測試中發現一個現象,比如,我們在測試1514B大小的數據包吞吐量時,一個Pair可能只有20Mbps左右,但隨著Pair數量的增加,吞吐量也會隨之上升,并最終達到吞吐最大值,Pair繼續增加,吞吐量也不會出現大的變化。使用100Pairs還有另外一個效果,多Pair在Netstat中看到的效果就是多TCP連接數,在多連接數下,高強度的吞吐測試對路由器性能和穩定性都是一個考驗。
包轉發率公式如下:(Mbps + 6Mbps) / 8 / (64B、128B、256B…1514B +20B) = Mpps * 1000000 = pps
Mbps指的是路由器的設計帶寬,除以8是將bps轉化為Byteps,64B指的是以太網最小數據包的大小,20B是每個數據包在傳輸時的固定損耗,另外,要說明一下,這20B的損耗通過抓包工具是無法捕獲的。我們再來看一下pps這個計算公式的計數單位是“個”,因為在1000Mbps除以8之后,此時計數單位就是Byteps了,也就是Byte每秒。再用Byteps除以Byte,所得到的就是pps,第一個p也就是包(package)的意思。包轉發率的概念是一個“以數量為基礎的概念”,通俗的講,就是一個以“個”為單位的概念,10pps指的就是每秒轉發了10個數據包。
接下來我們反著看一下pps的計算方法,1000Mbps / 8 / (64B+20B)=1.488Mpps。如果我們使用的數據包大于64B會如何?假如是128B,那公式將會變成這樣。1760Mbps / 8 / (128B+20B)=1.488Mpps,但我們知道,千兆路由器的設計寬帶極限是1000Mbps,不可能超過這個數值,所以如果計算千兆路由器的128B數據包轉發率,結果應該是1000Mbps / 8 / (128B+20B)=0.8446Mpps。結果與1.488Mpps相差甚遠,這說明產生了傳輸瓶頸,瓶頸來自于千兆路由器的設計標準,而非來自于包轉發性能。
5. 測試步驟
a) 按網絡拓撲圖進行部署;
b) 配置Console測試IP;
c) 測試腳本采用High_Performance_Throughput,Pair數量為100,數據包大小分別設置為64B、128B、256B、512B、1024B、1514B;
d) 循環執行測試腳本;
e) 測試完畢,記錄每一次結果;
6. 測試結果
100Pairs吞吐量測試結果:
1> 這是在64B數據包下測試的結果:6.744Mbps
2> 這是在128B數據包下測試的結果:13.316Mbps
3> 這是在256B數據包下測試的結果:26.292Mbps
4> 這是在512B數據包下測試的結果:51.884Mbps
5> 這是在1024B數據包下測試的結果:84.536Mbps
6> 這是在1514B數據包下測試的結果:84.637Mbps
4.2. WAN->LAN單工吞吐量
1. 測試目的
獲取待測路由器Wan->Lan所能達到最大吞吐量
2. 測試拓撲
3. 測試條件
性能指標
測試條件設置
單工吞吐量
多條規劃,大數據包
數據包大小:1000KB
多條規劃:10規則
協議:TCP
4. 測試方法
測試軟件還是使用IxChariot,測試腳本采用Throughput,Pair數量為10。對Throughput腳本進行修改,我們設置讓Endpoint1-> Endpoint2發送大數據包,Pair數量被設定在10,這是因為對于網絡情況不穩定、經常出現速度波動的情況來說,在某一時刻測量速度存在一定的不確定因素,我們采用科學測量法來解決這個問題,即采用平均值的方法。將所有測量值匯總在一起可以得到更接近真實數值的結果。
雖然我們可以通過科學測量法減小誤差,但由于默認數據包僅為100KB,所以總的數據檢測量相對較小。對于帶寬比較大的情況,例如100Mbps以上的網絡或ISP提供的傳輸速度較快的時候,使用100KB數據包進行測量得出的結果不太準確。這時就需要通過修改默認數據包的大小以求測量結果更精確,這里我們加大了十倍,即1000KB。
5. 測試步驟
a) 按網絡拓撲圖進行部署;
b) 配置Console測試IP;
c) 測試腳本采用Throughput,Pair數量為10,數據包大小分別設置為1000KB;
d) 執行測試腳本;
e) 測試完畢,記錄結果;
6. 測試結果
下面是1000KB數據包,10Pairs下吞吐量測試結果:289.583 Mbps
4.3. LAN->LAN單工吞吐量
1. 測試目的
獲取待測路由器Lan->Lan數據交換所能達到單工最大吞吐量
2. 測試拓撲
3. 測試條件
性能指標
測試條件設置
單工吞吐量
多條規劃,大數據包
數據包大小:1000KB
多條規劃:10規則
協議:TCP
4. 測試方法
測試軟件使用IxChariot,測試腳本采用Throughput,Pair數量為10。對Throughput腳本進行修改,我們設置讓Endpoint1-> Endpoint2發送大數據包,Pair數量被設定在10。修改發送數據包的大小為1000KB。
5. 測試步驟
a) 按網絡拓撲圖進行部署;
b) 配置Console測試IP;
c) 測試腳本采用Throughput,Pair數量為10,數據包大小分別設置為1000KB;
d) 執行測試腳本;
e) 測試完畢,記錄結果;
6. 測試結果
下面是1000KB數據包,10Pairs下吞吐量測試結果:947.992Mbps
4.4. LAN->LAN雙工吞吐量
1. 測試目的
獲取待測路由器Lan->Lan數據交換所能達到雙工最大吞吐量
2. 測試拓撲
3. 測試條件
性能指標
測試條件設置
雙工吞吐量
多條規劃,大數據包
數據包大小:1000KB
多條規劃:10規則(雙向各5條)
協議:TCP
4. 測試方法
4.3節介紹單向測量的方法,也就是只檢測中控主機->圖形工作站的吞吐量。然而,實際工作中,網絡是單工或雙工工作也是影響網絡速度的主要因素,因此我們還要考慮測試雙向PAIR,測量結果會顯示出中控主機->圖形工作站的速度以及圖形工作站->中控主機的速度。
測試軟件還是使用IxChariot,測試腳本采用Throughput,Pair數量為10。對Throughput腳本進行修改,我們設置Endpoint1、Endpoint2互相發送大數據包,Pair數量被設定在10。修改發送數據包的大小為1000KB,單向各5Pair。
5. 測試步驟
a) 按網絡拓撲圖進行部署;
b) 配置Console測試IP;
c) 測試腳本采用Throughput,Pair總量為10,數據包大小設置為1000KB;
d) 執行測試腳本;
e) 測試完畢,記錄結果;
6. 測試結果
下面是1000KB數據包,總10Pairs下雙向吞吐量測試結果:
總吞吐量為1624.511 Mbps,中控主機->圖形工作站的吞吐量為920.337 Mbps,圖形工作站->中控主機的吞吐量為768.963 Mbps。
5. 測試分析
5.1. WAN->LAN包轉發性能
分析測試結果之前,還要說一下Ixchariot這個測試工具,Ixchariot本身是有損耗的,使用Ixchariot測得的Throughput結果是有效數據負載,不包括TCP協議損耗、包間隔、應答和Ixchariot本身系統損耗,此部分典型損耗根據理論計算約6M,就是說即使你測試的是一臺能線速轉發的路由器,測出來的Throughput也只可能是94M左右,這是理論極限值,不可能大于這個值,當然這是對百兆路由器而言。但這個損耗也是占用了路由器性能的,所以我們需要在測得的Throughput結果上加6Mbps。
我們分別測試64B、128B、256B、512B、1024B、1514B大小數據包的傳輸表現,對于測試結果,只要加上Ixchariot的傳輸損耗(6Mbps)沒有超過(路由器)1000Mbps這個極限值,我們便認為,傳輸瓶頸是來自于包轉發性能,而不是路由器的帶寬標準。我們需要的,也正是路由器在出現轉發瓶頸時的數值。
使用Ixchariot測得的是Mbps,需要將其轉換為pps,轉換的方法在上面已經說過,
公式:(Mbps + 6Mbps) / 8 / (64B、128B、256B…1514B +20B) = Mpps * 1000000 = pps
下面我們解讀上圖的測試結果。藍色的曲線描繪的是bps,可以看到,隨著數據包從64B至1514B,bps一路飆升。而pps曲線卻不太正常,從按照之前的理論,pps應該是一個波動不大的值,可是這里卻從18964跨到7385。而到1514B的時候bps是84.637Mbps,再加上6Mbps的損耗,并未達到路由器1000Mbps的極限值,顯然這說明并非來自于路由器的帶寬標準,而是包轉發性能。
從以前的測試結果來看,bps高的pps一定高嗎?其實不然,相反的pps是一個比較穩定的值,在傳輸大包時,反而會收到寬帶標準的制約。從上圖的測試結果來看,我們認為,這款路由器的Wan->Lan包轉發能力應該在13000-7000之間,在這個測試中,不存在帶寬瓶頸的問題。
我們總結一下路由器標稱帶寬(吞吐量)、實際吞吐量(bps)和包轉發率(pps)之間的關系。我們常說的百兆路由器、千兆路由器,這指的就是路由器的標稱吞吐量,對于百兆路由器來講,達到標稱吞吐量其實并不是什么難事,只要使用大數據包,我們在測試中使用的1Pair High_Performance_Throughput腳本測出的結果,成績是非常好看的。但僅憑此,就能說明路由器的性能很好嗎?顯然不能。
從測試結果中我們可以看出,包轉發率(pps)達到7000左右,輸大數據包,吞吐量就能達到極限了,但此時,小數據包的轉發性能其實也只有19000左右。試想一臺包轉發率為40000的設備,與包轉發率為19000的設備在轉發大數據包上,表現會有什么不同嗎?似乎不會有任何不同,因為帶寬(吞吐量)就是上限。但兩者的區別會反應在轉發小包時的效率上,在沒有到達標稱帶寬(吞吐量)之前,pps為40000的設備將比pps為19000的要設備快上一倍,當然,這樣的設備價錢也會更高。我們關注的核心應該是包轉發率(pps),而不應是吞吐量,因為包轉發率高了,吞吐量必然高,而吞吐量高,包轉發率卻不一定高。
在實際應用中,包轉發能力十分關鍵,比如icsBOX里經常控制各種設備,每操作一個動作指令,每轉動一下攝像頭,轉發的全部是小包,這種情況下,不存在標準帶寬(吞吐量)瓶頸的問題,考驗的僅是路由器的包轉發能力。如果路由器包轉發能力不強,就很難應付大量小包轉發的需求,對于一些時延敏感的應用,操作起來就會很不順暢。
千兆路由器的包轉發率達到了19000pps左右,雖然距理論最大值1488000pps相去甚遠,但這一表現到底有多強或有多弱,我們如何判斷。比較這兩個數字,單從數量級來看,千兆路由器的包轉發性能確實夠差的,僅為理論值的1.28%左右。包轉發率越高越好,但在實際應用中我們真的需要那么高的包轉發率嗎?對于這點,我們也沒有一個判斷的標準
5.2. WAN->LAN單工吞吐量
從測試的結果來看,在1000KB數據包、10Pairs下吞吐量測試結果為289.583 Mbps,也就是在1000KB數據包測試中的TH值達到了36.2MB/s。也就是說如果電腦硬盤讀寫速度夠快,那么它下載1G的高清晰電影需要28秒種。
相比千兆路由器理論值的1000 Mbps,實際測試的結果僅為289.583 Mbps,加上Ixchariot本身系統損耗6 Mbps也就295.583 Mbps還不到300 Mbps,這說明這款路由器WAN->LAN單工吞吐量還是比較差的。
下面我們來看看,當時測試過程中路由器CPU使用情況的截圖
我們可以看到此時的路由器CPU資源使用率已經是100%,達到了其處理的極限,這是說明這款路由器其在吞吐量上的制約的瓶頸為其CPU。
5.3. LAN->LAN單工吞吐量
從測試的結果來看,在1000KB數據包、10Pairs下LAN口間數據交換數據吞吐量測試結果為947.992Mbps,也就是在1000KB數據包測試中的TH值達到了118.499MB/s。也就是說如果兩臺局域網內的電腦硬盤讀寫速度夠快,那么他們之間互傳一個1G的高清晰電影僅需要8秒種。
千兆路由器LAN口間設計理論值是1000 Mbps,實際測試的結果為947.992 Mbps加上Ixchariot本身系統損耗6 Mbps一起已經很接近了,這表明其LAN口間數據交換能力還是不錯的。
5.4. LAN->LAN雙工吞吐量
從測試的結果來看,在1000KB數據包,總10Pairs下雙向吞吐量測總吞吐量之和為1624.511 Mbps,中控主機->圖形工作站的吞吐量為920.337 Mbps,圖形工作站->中控主機的吞吐量為768.963 Mbps。中控主機->圖形工作站的傳輸速率要高于圖形工作站->中控主機。雙工吞吐量的平均值為812.2555 Mbps,要低于中控主機->圖形工作站的單工吞吐量,可見路由器在單工狀態還是雙工狀態,在速度上還是有差距的。
6. 測試結論
總體上來說,目前這款全千兆企業級路由器算不上一款性能非常出色的設備,表現較為出色是LAN->LAN之間的數據交換能力,現將相關性能指標匯總如下:
WLAN->LAN包轉發性能:13000~7000 pps
WAN->LAN單工吞吐量: 295.583 Mbps
LAN->LAN單工吞吐量: 947.992Mbps
LAN->LAN雙工平均吞吐量: 812.2555 Mbps
NAT 大數據 網絡
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。