小白工作十載,創(chuàng)業(yè)數(shù)年,玩云計(jì)算3年有余。面對(duì)如今互聯(lián)網(wǎng)+和云計(jì)算大行其道,一時(shí)興起,中國(guó)的云廠商(百家混戰(zhàn))和洋廠商(如AWS、Azure)做了一番比較。
本次比較不是看臉,重在測(cè)試性能,小白想給大家分享一些經(jīng)驗(yàn)(和教訓(xùn))。
由于八年來(lái)小白一直奮戰(zhàn)在性能測(cè)試領(lǐng)域,所以覺(jué)得有些基本概念首先需要理清楚:
性能&穩(wěn)定性之我見(jiàn)
世俗說(shuō)的“性能”,Performance,這是一個(gè)已經(jīng)被玩壞的概念,不管是國(guó)內(nèi)、還是國(guó)外。
其實(shí),Performance(性能)的真實(shí)定義包含了Performance(性能) + Stability(穩(wěn)定性)兩個(gè)東東:
1、性能 = 性能 (第1天的成績(jī)) + 穩(wěn)定性 (后面364天的成績(jī))
“性能”其實(shí)只是第1天我們?nèi)ピu(píng)測(cè)一個(gè)產(chǎn)品的時(shí)候,拿個(gè)工具來(lái)跑個(gè)分?jǐn)?shù)(大家是不是對(duì)身邊這樣的事情感同身受?),看看孰優(yōu)孰劣,此時(shí)立馬下結(jié)論未免有些唐突。因?yàn)?,我們只看到了這個(gè)產(chǎn)品一瞬間(短期內(nèi))的性能表現(xiàn)。
“穩(wěn)定性”呢,其實(shí)可以說(shuō)全名叫“性能穩(wěn)定性”,表明的是這個(gè)產(chǎn)品能否在長(zhǎng)時(shí)間一直保持好成績(jī),還是會(huì)時(shí)好時(shí)壞、忽高忽低,不管是幾小時(shí)還是幾分鐘或幾秒鐘的抖動(dòng)。
2、性能 = 裸機(jī)性能 vs 實(shí)際性能
有不少身邊的人,包括我之前,都會(huì)“盲目”地下載些所謂的測(cè)試程序,去各家虛擬機(jī)上跑個(gè)分,然后不分青紅皂白就下定論。其實(shí)不然,實(shí)際使用情況會(huì)很不一樣。
舉個(gè)栗子:一臺(tái)i3和i7的筆記本評(píng)分肯定有差別,但跑一個(gè)游戲的時(shí)候很可能感覺(jué)不到任何差別。
純看評(píng)分的話(huà),小米還比iPhone強(qiáng)呢。
性能&穩(wěn)定性之我測(cè)
下面把實(shí)際測(cè)試結(jié)果跟大家分析一下:
云主機(jī)實(shí)際應(yīng)用性能
場(chǎng)景一:云主機(jī)搭載MySQL(最常用情況)
如圖,挑選了4家國(guó)內(nèi)廠商,金山云和阿里云表現(xiàn)差不多(阿里云是出乎我意料的,因?yàn)楹芫弥皢谓oI/O跑分的時(shí)候阿里云的I/O表現(xiàn)并不算太好),而UCloud要比金山云和阿里云差20%,這也是出乎我意料的,因?yàn)閁Cloud的I/O性能是比較突出的。
仔細(xì)想想,小白分析出很重要的一點(diǎn)是,在這種實(shí)際應(yīng)用場(chǎng)景下,是一個(gè)綜合考量,CPU、內(nèi)存、磁盤(pán)I/O都會(huì)結(jié)合應(yīng)用,數(shù)據(jù)庫(kù)的實(shí)際使用如果大量走I/O的話(huà)一定是code有問(wèn)題了,通常很多熱數(shù)據(jù)都是在內(nèi)存里的,所以與I/O的關(guān)系不是最大。
場(chǎng)景二:云主機(jī)搭載MongoDB(次常用情況)
如上圖所示,金山、UCloud、阿里云基本旗鼓相當(dāng),青云和華為云落后高達(dá)40%左右,其背后的原因同上。
云主機(jī)基礎(chǔ)性能測(cè)試
所謂的基礎(chǔ)性能,就是指單單給CPU、內(nèi)存、I/O測(cè)試性能,雖然在我看來(lái)還是low了點(diǎn),畢竟處于嚴(yán)謹(jǐn)性的目的還是要搞一把的。
當(dāng)然,這里將列舉性能、穩(wěn)定性?xún)蓚€(gè)方面:
先告知一下,用的工具是sysbench和ubench,都玩了,以防因工具不同出現(xiàn)偏差。
穩(wěn)定性的話(huà)是將云服務(wù)器持續(xù)不斷跑了7天以上,這個(gè)就很有意思,有些廠商會(huì)因?yàn)闀r(shí)間段的關(guān)系出現(xiàn)周期性的大幅差異(抖動(dòng)),有些廠商即使在長(zhǎng)期看似平穩(wěn),但每時(shí)每刻的抖動(dòng)幅度卻很大,能不能接受這類(lèi)抖動(dòng)真的見(jiàn)仁見(jiàn)智了,反正我做的項(xiàng)目對(duì)于穩(wěn)定性要求比較高,不能影響客戶(hù)體驗(yàn)。
性能上,其實(shí)很多玩計(jì)算機(jī)的人都明白,CPU真的差10%-15%之間,或者內(nèi)存差10%-15%之間,在跑應(yīng)用時(shí)是基本感覺(jué)不出來(lái)差別的。就好比iPhone 6比iPhone 5s硬件要好,難道玩憤怒的小鳥(niǎo)的時(shí)候,用iPhone 6那只鳥(niǎo)還能飛快一點(diǎn)嗎?所以CPU和內(nèi)存差15%之內(nèi),對(duì)于選機(jī)器而言,基本是無(wú)所謂的。但磁盤(pán)性能其實(shí)是有感覺(jué)的,理由很簡(jiǎn)單,一臺(tái)裝SSD的筆記本開(kāi)機(jī)肯定比SATA盤(pán)的筆記本快。
穩(wěn)定性上,無(wú)論是CPU、內(nèi)存、還是磁盤(pán),都是有強(qiáng)烈感覺(jué)的!好比忽高忽低的心跳,誰(shuí)能受得了。前一秒應(yīng)用的體驗(yàn)還非常好,后一秒就卡了,相信很多人都碰到過(guò)類(lèi)似經(jīng)驗(yàn)。
導(dǎo)讀:面對(duì)如今互聯(lián)網(wǎng)+和云計(jì)算大行其道,一時(shí)興起,中國(guó)的云廠商(百家混戰(zhàn))和洋廠商(如AWS、Azure)做了一番比較。
注意一下,穩(wěn)定性的值小白采用的是統(tǒng)計(jì)學(xué)上常用的Correlation值,中文應(yīng)該叫離散度,Correlation= Sigma / Mean,即離散度 = 標(biāo)準(zhǔn)差/平均值。這是一個(gè)不帶單位的數(shù)值,可以與任何東西比較離散程度。該值越小越好,基本上世面上大多采用的是0.02,即小于0.02的都被認(rèn)為是非常平穩(wěn),比0.02大的就屬于心律不齊了。例如0.04甚至是0.1,如果把長(zhǎng)期的數(shù)據(jù)點(diǎn)plot出來(lái),會(huì)是一張很恐怖很血腥的滴血圖……
不說(shuō)了,上圖,高能預(yù)警?。?/p>
穩(wěn)定性-CPU
性能-CPU
穩(wěn)定性-內(nèi)存
性能-內(nèi)存
穩(wěn)定性-磁盤(pán)
性能-磁盤(pán)1
性能-磁盤(pán)2
CPU性能方面,大家可以看到AWS雖然排名第一,但是比其它人家也就好10%樣子,內(nèi)存也是一樣情況,所以其實(shí)所有主流云廠商,大家都在CPU和內(nèi)存性能上半斤對(duì)八兩。
導(dǎo)讀:面對(duì)如今互聯(lián)網(wǎng)+和云計(jì)算大行其道,一時(shí)興起,中國(guó)的云廠商(百家混戰(zhàn))和洋廠商(如AWS、Azure)做了一番比較。
穩(wěn)定性上(小白覺(jué)得這個(gè)才是最重要最有感覺(jué)的)AWS的穩(wěn)定性真的可以用“絲般柔滑”來(lái)形容,Azure和阿里云屬于潔白光滑的皮膚上面有幾個(gè)不明顯的小豆豆,再反觀UCloud、金山云、青云等,抖動(dòng)皆在AWS等三家的5-8倍以上(CPU和內(nèi)存穩(wěn)定性),而磁盤(pán)I/O方面,這些廠商的抖動(dòng)基本在AWS等的3-17倍以上。
再來(lái)個(gè)來(lái)個(gè)高能的的圖感受一下吧:
AWS
Aliyun
UCLOUD
騰訊云
AWS的穩(wěn)定性(抖動(dòng))非常平滑,阿里云屬于較平穩(wěn),UCloud的云服務(wù)器性能如過(guò)山車(chē)一般,騰訊云的也有抖動(dòng)。
上面的圖是給大家一個(gè)直觀印象,取了相對(duì)短時(shí)間的數(shù)據(jù)。
其實(shí)小白還做了長(zhǎng)達(dá)10天的連續(xù)測(cè)試,基本結(jié)果跟上面的4張圖一樣,只是貼上來(lái)篇幅更寬難以放在文章中。有趣的是UCloud、騰訊云和金山云三家有相當(dāng)?shù)臅r(shí)間規(guī)律性,即基本每天晚上6PM-8PM、10PM-12PM之間,會(huì)有性能大幅跌落。仔細(xì)分析了一下,每天晚上這兩個(gè)時(shí)間段分別是下班在地鐵上玩手機(jī)的時(shí)間、以及晚上躺床上玩手機(jī)的時(shí)間,用戶(hù)量會(huì)暴增,但其它幾家廠商就沒(méi)有出現(xiàn)如此的時(shí)間性下跌。
以上是小白對(duì)于云服務(wù)器的選擇的一些看法和感想,總結(jié)而言:
在看性能(第一天成績(jī))的同時(shí),更要注重穩(wěn)定性(365天的成績(jī))
在看裸機(jī)性能(跑分)的同時(shí),更要注重實(shí)際使用(搭建應(yīng)用)的性能。
后續(xù)小白還將為大家分享一下云數(shù)據(jù)庫(kù)和云存儲(chǔ)的一些比較,供大家參考。