測試:品質、品牌與價值的綜合體現 ——2019至頂網公有云主機評測綜合分析報告(下)
從上篇測試文章中我們可以了解,公有云主機的網絡應用性能,與CPU的處理能力息息相關,雖然在正常應用流量測試中,絕大部分的公有云主機CPU使用并沒有達到一個很高的數值,這是因為測試所搭建的網頁比較簡單,沒有過多互動性內容而導致的。公有云主機的CPU處理能力到底如何?為什么至頂網云能力評估小組一直提倡采用雙核云主機?網絡、計算、存儲中云主機的系統盤存儲能力又是如何?這些問題我們會在這部分文章中繼續為大家進行解讀。
1+1<2?公有云主機計算性能結果分析
1+1=2這是一道一年級的小學生也能解答出來的算數題,可是一個虛擬的vCPU再加上一個虛擬的vCPU呢?去年就有一個公有云廠商給我們提供了一個1+1<2的測試結果。那么今年公有云廠商的云主機又會有什么樣的表現呢?為此,在本測試試中,我們采用和去年相同的測試工具,對和去年相同的十個公有云廠商的公有云主機進行了測試。在本次測試中,盡量選擇公有云廠商比較新的數據中心,和比較新型號的CPU進行測試,現把所選十個公有云廠商測試數據中心及CPU型號整理如下:
需要從什么角度出發展示產品?先說一下選擇公有云主機型號時所發現的問題。現在發現,有很多公有云廠商在展示自身公有云產品的時候,出于產品展示的目的,將所有的公有云主機簡單粗暴的羅列出來,而不是站在用戶使用的角度來對產品進行展示。對于公有云廠商來說,盡可能將自身產品展示出來這沒有什么問題,完全可以理解。但是作為一個用戶在選擇產品的時候,就完全無所適從了!
比如在上圖中,同樣vCPU數量、同樣內存大小的云主機型號有三、四個,到底要選那個,要靠猜!此外是有關CPU的型號,我們選用的云主機中,只有阿里、百度、華為、騰訊這四個廠商將自身的公有云主機處理器型號明確的標示了出來,而對CPU主頻明確標示的更只有三家。因此在被測云主機應當如何正確選擇的問題上,著實難為了我們云能力評估小組的新樂同學。
有鑒于云主機型號眾多的問題并不是在一、兩個公有云廠商中出現,而且越是大品牌公有云廠商,這類問題就越嚴重。因此,不得不在此正式提出這個問題,也希望可以得到公有云廠商們的響應,轉換一下對公有云產品的展示思維,從用戶角度出發、從應用角度出發,讓用戶把更多精力可以放到實際業務上去,而不是為基礎設施的選擇而浪費時間。
公有云主機性能對比既然是對公有云主機的計算性能進行測試,那難免要來跑一下分的。下面我們還是采用Geekbench 3.4.2 for Linux x86 (64-bit)對公有云主機計算能力進行測試。同時為了對更多新業務處理能力進行評估,同時采用Geekbench 4.3.3 for Linux x86 (64-bit)對公有云主機計算能力進行評測。
Geekbench 3測試結果對比圖表
通過這個跑分成績可以充分說明一個問題,光看跑分不靠譜!
在這個對比圖表中,可以明確的看到,在今年的Geekbench 3測試成績中,單核與雙核成績最高的是金山云的公有云主機,但是在上篇的Web應用性能測試中,唯一出現問題的也正是它。
不過對這些測試結果深度挖掘一下的話,還是可以看出一些有趣的事情來的。那就是單核與雙核性能提升不成比例的公有云廠商數量有所提升。
通過上面的Geekbench 3測試結果對比圖表可以看出,在2018年,只有阿里云一家出現了云主機單核計算性能與雙核計算性能不是接近成比例提升的情況。可是在今年的測試中,不但阿里云的情況依舊,騰訊云和京東云也出現了和阿里云相擬的云主機單核計算性能與雙核計算性能不接近成比例提升現象。計算性能關系到處理效率,一家出現這種情況,可能是技術上的問題,可是多家跟隨著出現同樣情況,這里面就另有內情了。
和阿里云的技術進行深入溝通之后,才了解了其中的內情。用過虛擬機的小伙伴都清楚,在一臺物理主機上,可以虛擬出很多臺虛擬機出來,可以多出這些虛擬機的計算能力怎么解決呢?就只能輪流來用物理的CPU了,一個虛擬機在使用的時候,其它沒有分配到物理CPU的虛擬機只能在一邊等著。如此一來,CPU的使用效率是提升了,但是虛擬機的業務處理能力實際上會下降的非常明顯。這樣的虛擬機,簡單跑跑功能體驗是沒有問題的,但真正用在企業業務系統中,往往會出現問題,這也就是常常有人吐槽的CPU超買。實際上為了業務系統的穩定,現在超買的公有云廠商已經不多了,找個軟件跑下分,一對比就可以看出來。于是通常將虛擬CPU和物理CPU做綁定。而問題就出現在這個“綁定”的方法上面。
Intel也在為提升CPU的使用效率想辦法,并且推出了一個超線程技術,一個物理CPU可以支持兩個線程,簡單點說就是一個CPU內核可以當兩個CPU來使,同時能干兩件事情。同時可以做更多的事情這是一件好事,但有一個前提條件,兩個線程請求的資源不能重復,如果都請求使用一些相同的計算資源或寄存器的話,也得按照先來后到的順序排隊等著。最后滿打滿算,超線程可以把一個CPU內核的計算性能提升出30%左右。也就是說超線程技術的1+1是小于2的。
這個超線程和公有云主機有關系嗎?當然有關系!在公有云上自然要發揮CPU的最大計算效能,一個虛機如果綁定一個物理CPU內核的話,計算資源難免會出現浪費的情況,因此在現在的公有云上,一個vCPU實際上綁定的只是一個物理CPU內核兩個線程中的一個。
這個時候,如果要使用一個雙核公有云主機,就會出現兩種情況:
1、兩個線程綁定在同一個物理CPU內核之上。
2、兩個線程分別分配到兩個不同的物理CPU內核上,各占其中的一個線程。
在CPU計算性能測試時,這兩種情況就會出現兩種測試結果:
1、當兩個線程綁定在同一個物理CPU內核上的時候,受到CPU內核共用計算資源的影響,公有云主機的雙核計算性能就只能做到有限的提升,肯定無法實現計算能力成倍的增長。
2、當兩個線程分別分配到兩個不同的物理CPU內核上,各占其中的一個線程時,由于沒有共用計算資源的影響,公有云主機的雙核計算性能就可以做到接近成倍的計算性能提升。
從計算性能的角度來講,當然是第二種分配方式更加理想,可以讓用戶得到更多的計算資源。但是從穩定性的角度來看,結果就剛好相反了。如果數據中心用戶業務較少,計算資源非常充裕的話,公有云主機的計算性能確實可以得到成倍增長,但是數據中心的用戶業務一但提升,公有云主機的每個vCPU線程都在面臨其它公有云主機計算資源爭搶的時候,就會陷入計算資源用無可用的尷尬境地了。
還是以本次性能測試中分數最高的金山云為例,在正常應用流量測試中,其CPU使用率最高就達到了99.02%,其中User的使用率僅為8.98%,有82.03%的IOWait。
目前懷疑這高達82.03%的IOWait,很有可能就是因為計算資源被其他用戶擠占所導致的。其它計算性能成倍增長的公有云主機雖然還沒有出現這種情況,但是否能保證當數據中心計算資源充分利用時,不會有這種情況發生,還有待去進行更深度的技術分析。
這也許正是在公有云時代,祼金屬服務器依然可以大行其道的原因吧。然而,對于那些買不起裸金屬服務器的用戶而言,將雙核公有云主機的兩個線程綁定在同一個物理CPU內核之上,就完全可以理解了,不管數據中心里有多少用戶,我自家使用的計算資源始終是有保障的,人再多也搶不走!
因為沒有得到其他兩個公有云廠商的正式回復,因此只能是猜測,這也許是今年繼阿里云公有云主機之后,京東云、騰訊云的公有云主機雙核計算能力也開始變成不成比例增長的真實原因。也只有真正的有那么多用戶去使用,才可以發現這種在實際應用中才能產生的問題。雖然希望今后這種不成比例增長的現象可以更多的出現,不過還是要向公有云廠商建議一下,在選擇公有云主機的時候,最好可以事先將云主機計算能力分配方式說明一下,讓用戶可以更加明確的去進行選擇。
既要有讀 還得有寫 公有云主機系統盤存儲性能分析
在購買公有云主機的時候,往往會附帶著提供一個10G到20G的系統盤存儲空間,讓用戶進行操作系統和應用的安裝,由于系統在公有云主機啟動時會在內存中進行加載,而應用數據又通常會統一存儲到更好性能的存儲盤中去,因此系統盤的存儲性能也往往會另人忽視。而對于至頂網云能力評估小組的某些同志而言,蚊子再小它也是肉,有免費的東西不用那可實在是吃虧吃大了。所以接下來我們也對公有云主機的系統盤存儲性能進行了測試。
讀寫性能測試在此項測試中,我們采用的是Linux下的fio測試工具,分別對公有云主機的4KB隨機讀、寫的IOPS性能和10MB順序讀、寫的帶寬性能進行了測試,測試結果如下:
在當前的分區格式下,基本上一個簇的大小就是4K字節,也就是說你哪怕存儲1個字節的文件也要占用一個4K的存儲空間。所以用4K文件塊大小來進行存儲性能測試,可以比較準確的對存儲IO性能進行測試。但是從當前的測試結果來看,在很多公有云主機的系統盤隨機讀與寫的IOPS性能差距極大。很多公有云主機均出現非常高比例的讀強寫弱情況。
較高的IO讀取性能固然可以為云主機提供很好的寫入能力,但是過高的IO性能不加以控制的話,也是一種計算資源的浪費。在這方面阿里云、百度云、華為云和京東云的讀寫性能分配比較平均。但京東云存儲的IOPS有控制的過低的嫌疑。而這方面百度云對存儲的控制,相對來說更加適于用戶的應用。
在存儲性能測試中,不但要有適當的IO處理能力,還要具體合適的傳輸帶寬。因此在本次測試中,至頂網云能力評估小組采用10MB大小文件塊,對系統盤讀寫帶寬也同樣進行了測試。
在讀寫帶寬的性能測試中,可以看出大部分國內公有云廠商在系統盤數據傳輸帶寬方面均表現的不錯。需要補充說明一下的是,本來計劃在測試中采用1MB文件塊大小對讀寫帶寬進行測試,但因為有些公有云主機寫IOPS性能過低,采用1MB文件塊大小測試時無法準確獲得其準確帶寬性能,因此才放寬了標準,采用10MB文件塊大小進行測試。可即便如此,在Azure、華為云、金山云、青云和騰訊云寫帶寬測試中,連續記錄的傳輸帶寬都有比較明顯的傳輸波動情況出現。如此寬松條件下,寫帶寬傳輸依然存在比較明顯波動,這個情況也希望可以得到相關公有云廠商的重視。
重啟時間系統盤的首要任務是滿足系統和應用的加載,因此至頂網云能力評估小組也對公有云主機的重新啟動時間進行了測試。
在重啟時間測試中,采用對公有云主機外網IP長ping,并在命令行輸入reboot的方式,通過統計丟失ping包個數,了解公有云主機的重新啟動時間。
從系統盤重新啟動時間對比圖表可以看出,雖然AWS和Azure提供了很高的IO讀取性能,但是并沒有為其系統盤重啟帶來過多的優勢。相反是讀寫帶寬都不占優勢的青云,在系統重新啟動時,以2秒鐘的出色表示獲得了頭籌。這可能是和青云公有云主機在啟動時,是直接加載內存和存儲的鏡像文件而不是和普通計算機是通過系統盤進行文件讀取有關。
以上測試成績也可以為我們提個醒,“免費”的便宜可能并不好占,為了核心業務的穩定著想,還是將關鍵數據放到廠商專門提供的云存儲上面會比較好。
可擴展能力明顯好于去年
在去年至頂網征求用戶對公有云使用意見時,有很多用戶對公有云的可擴展能力表示出了不滿。今年也特意對這十個公有云廠商的公有云主機可擴展功能進行了測試。
測試結果現實,當前這十家公有云廠商在增加公網帶寬和提升云主機配置方面,都可以很方便的進行設置。在增加支主機方面絕大部分公有云廠商都已經提供了彈性伸縮功能,只需要事先做好伸縮配置,就可以很方面的進行公有云主機擴展應用。只有UCloud和青云還是在使用較傳統的負載均衡方式對公有云主機進行擴展,不過青云的負載均衡設置也同樣十分方便并不會對用戶公有云主機擴展造成過大困擾。看來UCloud還要在云主機相關應用上再努點力了。
做數容易 做事太難 2019評測小結
如果要用一句話來做2019年公有云評測的總結的話,我想說的就是“做數容易,做事太難!”有些公有云廠商確實可以調制出比較出色的計算性能,但是在加載實際應用后,就什么問題都出現了。有些公有云廠商的性能指標都不是很突出,但業務應用跑得卻十分順暢。
當然,在這里至頂網云能力評估小組首先要檢討一下我們自身的問題,以前作者在做網絡和網絡安全產品測試的時候,確實習慣了使用專業的性能測試儀表,那個時候就好像手握玄鐵重劍一樣,可以輕松的將產品性能壓到極致,好壞高下一眼就可以看出來了。可以在公有云上則完全不同,基本找不到通用的專業測試工具可用,只好找些尋常的刀劍,好在是發現了一些破綻,要不還真是不好走下臺去了。但是,只有不斷的去發現問題,解決問題,才能不斷的進步。對產品廠商如此,對測試技術來講也是如此!玄鐵重劍不好找,尋常刀劍不好用,那我們就要想辦法打造出更適用的倚天劍來,到時候再好好和產品研發的屠龍刀再比試一下。
這把倚天劍要怎么打,計劃將抽時間總結一下本次測試中的經驗教訓,再和眾多測試軟件、測試工具廠商多多進行溝通。計劃以功能測試為基礎,結合一些關鍵性的應用性能指標,逐步完善出一套可實用的測試方案出來。有機會的話也會另外撰文,對這方面技術進行一下更深度的分析。
總而言之,我們堅信,正因為不存在絕對的完美,我們才會不斷的去追求完美,不斷的去發現問題、解決問題,才會不斷的取得新進步,產品如是,測試亦如是。
有關于這十個公有云的評價,我們書葆同學提議組織互聯網企業的專家用戶來進行打分。對這個提供我舉雙手贊成。專業的事性由專業的人來做,做評測我們專業,可以把問題點找出來,但對產品做評價還是真正有使用經驗的人更具有發言權。至頂網云能力評估小組要做的就是將產品最真實的一面,切切實實的展示出來,用戶自然會做出最明確的選擇。
未來我們還會更進一步的對區塊鏈、5G、邊緣計算、數據庫、人工智能、大數據分析等技術做進一步的評估分析工作。千萬不要以為這是在喊喊口號,為此我已經準備了一個商鋪,準備找到業主后幫他做數字化轉型,可沒想到近一年了也沒租出去……這也可能就是傳統零售遇冷,無力進行數字化轉型的一個縮影吧。但我們還是堅信傳統企業數字化轉型的未來是光明的。區塊鏈的溯源機制,為生產企業產品品質提供了保障,未來假貨泛濫的情況會得到遏制。5G的低延遲、大帶寬、支持海量用戶應用,將為產品生產、加工、銷售全流程質量監督打下基礎。邊緣計算行為分析可以為所有環節出現異常及時告警。至于產、銷、存的大數據分析又可以為產品生產規劃做出精準的分析。傳統企業向數字化轉型的大路已經鋪到我們眼前,所缺少的就是一個轉型成功的最佳實踐。而我們至頂網云能力評估小組不但會盡好媒體監督職責,還會通過我們最豐厚的專業技術積累為用戶做好參謀,讓用戶用更少的投資,讓企業走更少的彎路,順利的在數字化轉型大道上大步向前。
本文章選自《AI啟示錄》雜志,閱讀更多雜志內容,請掃描下方二維碼







