【導讀】由于ADC產(chǎn)品相對于網(wǎng)絡產(chǎn)品和服務器需求小很多,用戶和集成商在選擇產(chǎn)品時對關鍵指標的理解難免有一些誤區(qū),加之部分主流廠商刻意引導,招標規(guī)范往往有不少非關鍵指標作被作為必須符合項。接下來就這些誤區(qū)和真正的關鍵指標做一些探討。
誤區(qū)1: CPU數(shù)量和主頻。 目前大部分廠商采用了類似的通用CPU架構,但還是可能采用不同廠家的CPU。即使是同一個廠家,也可能是不同系列。最關鍵的是CPU數(shù)量和主頻并不代表性能,除非是同一個廠家的同一個軟件。同樣,完全相同的硬件配置,不同廠商的架構和系統(tǒng)發(fā)揮出來的性能可能相差數(shù)倍,正如完全相同的幾個人在不同的管理環(huán)境下發(fā)揮出來的貢獻差別會很大。并行計算處理不好,由于CPU間信開銷及鎖的問題,CPU數(shù)量增加并不意味性能增加。如果1個CPU可以跑出其它產(chǎn)品8個cpu的性能,誰會選擇8個CPU的產(chǎn)品?成本,功耗,體積都會大很多。因此,CPU硬件配置并不代表性能。
誤區(qū)2: 內(nèi)存。 同樣與系統(tǒng)架構相關。同樣與架構有關,對于CPU獨享內(nèi)存的架構,每個核即使只配置2G內(nèi)存,一個8核的產(chǎn)品就需要16G內(nèi)存,但每個核可訪問的內(nèi)存資源只有2G。這樣的架構一份數(shù)據(jù)需要復制多次并保存多份,使用效率很低,最終也會影響到性能。而共享內(nèi)存架構的產(chǎn)品,每個核可以訪問所有內(nèi)存資源,數(shù)據(jù)也只需要保存一份。如果是32位操作系統(tǒng),共享內(nèi)存架構4G內(nèi)存的實際效率就超過獨享內(nèi)存架構的任意配置產(chǎn)品(目前A10之外的產(chǎn)品均為32位操作系統(tǒng),獨享內(nèi)存架構)。64位操作系統(tǒng)突破4G的限制,實際效率就會更高。因此,內(nèi)存不代表性能。如果一定要比較,需要比較每個核可訪問的內(nèi)存資源。
誤區(qū)3:端口數(shù)量。ADC產(chǎn)品不同于2/3層交換機,端口數(shù)量代表可連接更多設備。ADC產(chǎn)品部署環(huán)境一定會有2/3層交換機,服務器不需要直接連接到ADC產(chǎn)品。只要端口數(shù)量大于實際需要的吞吐量并有足夠端口與交換機連接即可。
誤區(qū)4:交換能力。 這個指標也是沿用了交換機的指標。交換機性能與交換矩陣芯片交換能力密切相關,與CPU關系不是很大。而ADC產(chǎn)品則不同,交換矩陣并不是必須部件,大多產(chǎn)品采用通用CPU架構使用PCIe總線擴展接口,這部分已經(jīng)不是ADC產(chǎn)品的瓶頸所在。ADC性能基本取決于系統(tǒng)整體架構下CPU發(fā)揮出來的效率。而且大部分產(chǎn)品本身已經(jīng)是服務器的硬件架構,應該沒有人對服務器要求交換能力的指標。
可以看出,誤區(qū)所在均為沿用了服務器或交換機的一些指標,這些硬件配置并不代表ADC產(chǎn)品的真正性能,但一些廠商還是刻意利用這些指標(尤其是CPU和內(nèi)存)來誤導客戶屏蔽競爭對手。
ADC真正關鍵的性能指標如下:
1. 4/7層吞吐量。由于需要CPU進行復雜的4-7層處理,4/7層吞吐量交2/3層吞吐量要低很多,但這是ADC真正能處理的數(shù)據(jù)吞吐量。這也是2/3層吞吐量對于ADC產(chǎn)品并不關鍵的原因。這個指標的測試方式通常是發(fā)送盡可能多HTTP GET請求,服務器應答較大HTTP對象(如512Kbytes或1MBytes,會分為若干數(shù)據(jù)包傳輸),計算無失敗情況下線路上傳輸?shù)臄?shù)據(jù)量。差異在于不同儀表廠商或不同測試可能會不計算2/3層包頭或GET請求部分,由于這部分所占比例極小,影響不是很大。嚴格來說,橫向比較時應該確定所取HTTP對象大小及是否計算2/3層包頭部分。
2. 4層每秒新建連接速率(L4 CPS)。 衡量ADC產(chǎn)品每秒鐘可以處理多少個TCP新建連接。通常測試方法為發(fā)送盡可能多的HTTP GET請求,服務器應答較小HTTP對象(如1Bytes,128Bytes,1KBytes), ADC產(chǎn)品在中間只根據(jù)4層信息進行復雜均衡。每個連接需要完整的3次握手建立過程,GET請求,和TCP關閉連接過程。這個指標對于ADC產(chǎn)品應付突發(fā)大量連接非常重要。好比一個地鐵入口的通過率一樣,如果入口太小,客流突然增加時,如果客人無法進入,業(yè)務自然會受到影響。比較該指標時需要注意所取HTTP對象大小。
3. 7層每秒新建連接速率(L7 CPS)。與4層新建連接速率類似,只是ADC產(chǎn)品在中間需要根據(jù)應用層信息進行服務器選擇(通常測試使用url交換),而且每個TCP連接上只能傳輸1個HTTP請求。使用7層處理對CPU效率要求更高。如同進入地鐵時需要核查客人更多信息和安檢一樣,其通過率比正常通過率會有不同程度降低。A10產(chǎn)品通??梢宰龅?層新建連接速率的70-80%,而其它很多廠商只能做到30-40%。比較該指標時同樣要注意HTTP對象大小和每個TCP連接傳輸?shù)恼埱髷?shù)。
4. 7層每秒交易速率(L7 RPS)。有些廠商使用L7 RPS作為L7 CPS來混淆誤導客戶,RPS測試會定義每個TCP連接可以傳輸多少個HTTP請求,通常會有10個請求/TCP連接,無限制請求連接/TCP連接幾種測試數(shù)據(jù)。使用1個請求的L7 RPS值就是L7 CPS。差別在于每個連接傳送多個請求時的L7 RPS測試中,ADC可以省去大量TCP連接建立和關閉過程。比較該指標時同樣要注意HTTP對象大小和每個TCP連接傳輸?shù)恼埱髷?shù)。
5. 并發(fā)會話數(shù)量。 如果新建連接速率代表了一個地鐵入口通過率,并發(fā)會話則代表了該地鐵線路上在車上的所有人數(shù)。如果內(nèi)部承運能力不夠高,就會造成乘客擠壓過載最后癱瘓。并發(fā)會話測試并不是簡單的在內(nèi)存中保存這些條目,實際測試中,必須在每個連接上定時傳送數(shù)據(jù)驗證設備可以準確查找已有會話并轉發(fā)數(shù)據(jù)。測試中還可能會細分4層并發(fā)會話數(shù)量和7層并發(fā)會話數(shù)量,區(qū)別在于ADC基于不同信息建立會話和每個連接占用的會話條目不同。由于并發(fā)會話與內(nèi)存關系很大,32位系統(tǒng)的ADC由于4G內(nèi)存限制都不可能做得很大,而64位系統(tǒng)的ADC就不會受到這個限制。
6. 防DDoS攻擊能力(syn/sec)。ADC產(chǎn)品的并發(fā)會話能力和新建連接速率遠遠大于防火墻類產(chǎn)品,因此在ADC外部署防火墻會成為瓶頸。這就要求ADC本身有足夠強大的防攻擊能力。目前大部分ADC產(chǎn)品均采用了Syn-cookie方式來防御DDoS攻擊,實際性能取決于各自的系統(tǒng)架構和處理算法。
值得一提的是,F(xiàn)5的7層新建速率與4層新建速率相比下降非常大,因此會有使用與其他廠商不同的一些數(shù)據(jù)來作為L7 CPS應答的情況。F5 提供3個L7 CPS/RPS指標.
L7 Connection per Sec(1-1), 客戶側連接1 request/connection,服務器側連接1 request/connection。 通用L7 CPS定義。
L7 Requests per Sec (1-inf),客戶側連接1 request/connection,服務器側連接unlimited request/connection。 用戶通??吹降腖7 CPS數(shù)據(jù)。
L7 Requests per Sec (inf-inf),客戶側連接unlimited request/connection,服務器側連接unlimited request/connection。
F5公開的測試報告明確描述其所有7層測試均啟用連接復用功能,因此測試報告中看到的都是“L7 Requests per Sec (1-inf)”。比較L7 CPS時時應該注意使用其CPS(1-1)指標。
其他SSL指標、DNS QPS指標、HTTP壓縮指標對于使用該類應用的用戶很重要,但不屬于通用關鍵指標,就暫不逐一解釋了。
推薦閱讀: