云服務(wù)器哪家強(qiáng)?AWS、Azure、阿里云等深度評(píng)測(cè)

來源: 百家號(hào)
作者:云技術(shù)之家
時(shí)間:2020-10-14
17642
本文選取了上述幾家云廠商的主力產(chǎn)品,分別從計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)等多維度進(jìn)行深度分析,并在MySQL、Redis和Ngnix等典型場(chǎng)景下進(jìn)行測(cè)試。

b219ebc4b74543a9722fb9473585e785b801149a.jpg

寫在前面:

上云在今天幾乎已經(jīng)成了很多企業(yè)的標(biāo)配,云服務(wù)器因?yàn)椴恍枰\(yùn)維人員去機(jī)房維護(hù),也不需要企業(yè)去建設(shè)機(jī)房等,大大降低了企業(yè)的IT資源門檻,可以幫助用戶快速實(shí)現(xiàn)業(yè)務(wù)部署。云服務(wù)器的隨需隨買、靈活彈性也讓企業(yè)可以從容應(yīng)對(duì)流量高峰。

隨著云計(jì)算行業(yè)發(fā)展越發(fā)成熟,廠商們服務(wù)器迭代越來越快、服務(wù)器的種類也是五花八門,不同的廠商的云服務(wù)器性能也讓企業(yè)們非常關(guān)注。

在國(guó)際市場(chǎng),亞馬遜AWS、微軟Azure和阿里云分列前三。在國(guó)內(nèi)市場(chǎng),阿里云占據(jù)了近一半份額,緊隨其后的是騰訊云和華為云等。

因此,筆者選取了上述幾家云廠商的主力產(chǎn)品,分別從計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)等多維度進(jìn)行深度分析,并在MySQL、Redis和Ngnix等典型場(chǎng)景下進(jìn)行測(cè)試。

準(zhǔn)備:機(jī)型選定

此次評(píng)測(cè)我們選取了各家云廠商最新CPU對(duì)應(yīng)的規(guī)格,均為搭載英特爾的Cascade Lake CPU的中主頻機(jī)型,同樣選擇8核32G的機(jī)型,這是一般企業(yè)在平日業(yè)務(wù)中用得最多的規(guī)格,最接近實(shí)際業(yè)務(wù)需要。操作系統(tǒng)也都選擇了一樣的CentOS 7.4。

目前谷歌云并未進(jìn)入中國(guó)市場(chǎng),對(duì)于國(guó)內(nèi)用戶來說,使用非常不方便,因此就不進(jìn)行評(píng)測(cè)了。

我們分別選定了AWS的通用實(shí)例m5、微軟Azure常規(guī)用途系列Ddv4、阿里云六代增強(qiáng)型實(shí)例g6e、騰訊云的標(biāo)準(zhǔn)型S5、華為云通用計(jì)算增強(qiáng)型c6s。由于華為沒有32G內(nèi)存的,我們選擇了8核16G的c6s。這里沒有選擇華為的c6型是因?yàn)槠鋍6的vCPU不與物理CPU的超線程綁定,無法保證穩(wěn)定的計(jì)算性能。

34fae6cd7b899e5150b6e10f6935b434c8950d0e.png

服務(wù)器最重要的無非是計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)性能,接下來,我們會(huì)這三大方面去評(píng)測(cè)。最后,我們還會(huì)看下特定業(yè)務(wù)運(yùn)行在幾家的服務(wù)器上的情況。

一、計(jì)算性能

1、整體性能

首先我們對(duì)五款云服務(wù)器做整體計(jì)算性能的跑分。做任何的業(yè)務(wù)計(jì)算都需要占用大量CPU的運(yùn)算能力,比如直播等視頻編解碼等,業(yè)務(wù)高峰期CPU的利用率經(jīng)常會(huì)達(dá)到90%以上。

測(cè)試工具:我們選擇了評(píng)測(cè)工具SPEC CPU。SPEC CPU是標(biāo)準(zhǔn)性能評(píng)價(jià)機(jī)構(gòu)(Standard Performance Evaluation Corporation,簡(jiǎn)稱SPEC)開發(fā)的用于評(píng)測(cè)CPU性能的基準(zhǔn)程序測(cè)試組,是一套CPU子系統(tǒng)測(cè)試工具。處理器、內(nèi)存和編譯器都會(huì)影響最終的測(cè)試結(jié)果,而I/O(磁盤)、網(wǎng)絡(luò)、操作系統(tǒng)和圖形子系統(tǒng)對(duì)SPEC CPU2000的影響非常小。目前,SPEC CPU是業(yè)界首選的CPU評(píng)測(cè)工具。我們使用了其中的SPECint基準(zhǔn)測(cè)試程序來評(píng)測(cè)各家云服務(wù)器的整型處理性能。

6a63f6246b600c3356220ad930de3c08d8f9a1e6.png

結(jié)果:我們可以看到,Azure的計(jì)算性能分最好,阿里云排名第二,騰訊云和AWS次之,華為云的c6s分?jǐn)?shù)最低。

2、浮點(diǎn)計(jì)算能力/CPU性能

接下來,我們看下浮點(diǎn)運(yùn)算能力,包括單核、多核浮點(diǎn)性能。使用的工具是Super Pi,這是一個(gè)比較聚焦和簡(jiǎn)單的算例,專門算圓周率,跟CPU的主頻密切相關(guān),耗時(shí)越短性能越高。

242dd42a2834349b38a0d917e37878c937d3be13.png

結(jié)果:我們可以看到,這個(gè)結(jié)果跟CPU主頻確實(shí)是密切相關(guān)的。在多核性能下,耗時(shí)最短的是Azure和華為云,然后是阿里云,最后分別是AWS和騰訊云。

除了CPU之外,內(nèi)存的性能在一定程度上決定系統(tǒng)表現(xiàn),特別是針對(duì)大量訪問內(nèi)存的場(chǎng)景,如關(guān)系型數(shù)據(jù)庫。而幾乎所有的業(yè)務(wù),都會(huì)用到關(guān)系型數(shù)據(jù)庫。內(nèi)存性能主要分為兩個(gè)方面,內(nèi)存帶寬和內(nèi)存延遲。

3、內(nèi)存帶寬

測(cè)試工具:Stream是業(yè)內(nèi)公認(rèn)的用于內(nèi)存性能評(píng)估的基準(zhǔn)測(cè)試軟件,其包括Copy(復(fù)制)、Scale(乘法)、Add(加法)以及Triad(三者復(fù)合)四種不同操作情況下的內(nèi)存帶寬表現(xiàn)。

77094b36acaf2eddceff0eb5a6826cee380193fd.png

測(cè)試結(jié)果:阿里云g6e與華為云c6s差不多,算并列第一,騰訊云第二,AWS第三,Azure明顯落后。

4、內(nèi)存延遲

測(cè)試工具:MLC為Intel官方提供的免費(fèi)內(nèi)存測(cè)試工具,可以有效方便地測(cè)試內(nèi)存延時(shí)。

dc54564e9258d109ca2e09a5fbcaa1b86d814d75.png

測(cè)試結(jié)果:華為云的內(nèi)存延時(shí)最低,僅為85ns;阿里云、騰訊云也在90ns左右,剩下分別是Azure、AWS。

二、網(wǎng)絡(luò)性能

接下來是網(wǎng)絡(luò)性能,我們主要看PPS和時(shí)延。

1、PPS

PPS是每秒傳輸?shù)臄?shù)據(jù)包數(shù)量,直播等網(wǎng)絡(luò)要求較高場(chǎng)景對(duì)PPS要求比較高。單實(shí)例PPS越大,網(wǎng)絡(luò)性能越強(qiáng),往往意味著可支撐更大的業(yè)務(wù)量。

在業(yè)務(wù)運(yùn)行過程中,如果PPS比較高,QPS也會(huì)相對(duì)應(yīng)更高。比如在非常常見的發(fā)彈窗場(chǎng)景,PPS高的機(jī)器能承載的發(fā)彈窗數(shù)量更高,有利于節(jié)省業(yè)務(wù)成本。

測(cè)試工具:Netperf是一種網(wǎng)絡(luò)性能的測(cè)量工具,主要針對(duì)基于TCP或UDP的傳輸。Netperf根據(jù)應(yīng)用的不同,可以進(jìn)行不同模式的網(wǎng)絡(luò)性能測(cè)試,即批量數(shù)據(jù)傳輸(bulk data transfer)模式和請(qǐng)求/應(yīng)答(request/reponse)模式。Netperf測(cè)試結(jié)果所反映的是一個(gè)系統(tǒng)能夠以多快的速度向另外一個(gè)系統(tǒng)發(fā)送數(shù)據(jù),以及另外一個(gè)系統(tǒng)能夠以多塊的速度接收數(shù)據(jù)。

測(cè)試方法:在云主機(jī)A上安裝netperf的netserver作為服務(wù)器端,云主機(jī)B上安裝netperf作為客戶端,在不運(yùn)行應(yīng)用情況下,云主機(jī)B壓測(cè)云主機(jī)A(數(shù)據(jù)包大小1),測(cè)試云主機(jī)A的網(wǎng)絡(luò)UDP收PPS性能。

網(wǎng)絡(luò)壓力持續(xù)時(shí)間為5分鐘,取云主機(jī)A收到壓力50秒后持續(xù)200秒的PPS平均值。

d52a2834349b033bc278ed983e5c5bd4d439bd1d.png

測(cè)試結(jié)果:阿里云g6e的網(wǎng)絡(luò)PPS上明顯領(lǐng)先,AWS m5和華為云c6s居中,騰訊云S5次之,Azure Ddv4明顯落后。

這里除了AWS廠商沒有對(duì)實(shí)例規(guī)格做了QOS規(guī)定,可能就是沒有限速,而其他云廠商都做了QoS(質(zhì)量控制)限制,且是符合QoS要求的,所以我們更應(yīng)該看下面一定壓力下的延遲數(shù)據(jù),這個(gè)對(duì)于用戶來說更有意義。

2、網(wǎng)絡(luò)延遲

延遲是大多數(shù)企業(yè)非常關(guān)注指標(biāo)。因?yàn)楸热缭谟螒蚝椭辈サ臉I(yè)務(wù),對(duì)延遲是十分敏感的,這是最關(guān)鍵的指標(biāo)之一。

測(cè)試工具:sockperf,是基于套接字API的網(wǎng)絡(luò)基準(zhǔn)測(cè)試實(shí)用程序,旨在測(cè)試高性能系統(tǒng)的性能(延遲和吞吐量),也適用于測(cè)試常規(guī)網(wǎng)絡(luò)系統(tǒng)的性能。它涵蓋了大多數(shù)套接字API調(diào)用和選項(xiàng)。

測(cè)試方法:用sockperf測(cè)試服務(wù)器在PPS 5000壓力環(huán)境下的時(shí)延。

6159252dd42a28345c3b57b17127a4ed14cebf00.png

測(cè)試結(jié)果:阿里云的網(wǎng)絡(luò)延時(shí)非常出色,AWS的也不錯(cuò),微軟和華為的機(jī)器延遲在40-50us左右,騰訊云S5的延時(shí)則明顯高于其他廠商。

三、存儲(chǔ)性能

存儲(chǔ)性能取決于不同的存儲(chǔ)實(shí)現(xiàn),現(xiàn)階段不同的云服務(wù)器廠商會(huì)提供不同的存儲(chǔ)解決方案以應(yīng)對(duì)各種使用場(chǎng)景,目前SSD已經(jīng)成為趨勢(shì),Ddv4暫時(shí)不能掛載超級(jí)SSD盤,無法測(cè)試。

bd315c6034a85edfdb29647462c66424dc54755d.png

對(duì)存儲(chǔ)需求最大主要是跑MySQL的場(chǎng)景,只需要用到一塊ESSD云盤。但一般來說廠商們出于QoS(質(zhì)量控制)的原因,即為了保證每臺(tái)實(shí)例的體驗(yàn)(以免有用戶買了小規(guī)格云盤,卻占用了大量帶寬),會(huì)根據(jù)磁盤大小對(duì)云盤性能進(jìn)行限制,因此我們選擇了比較大的1.1T的云盤來測(cè)試,主要測(cè)的是IOPS和延遲。

1、IOPS

存儲(chǔ)IOPS影響著單臺(tái)機(jī)器能承載的業(yè)務(wù)量。電商場(chǎng)景就是非常典型的高IOPS的場(chǎng)景:用戶下單,業(yè)務(wù)場(chǎng)景一般有查詢和寫入兩種情況,查詢一般會(huì)用很多緩存;寫入場(chǎng)景就需要數(shù)據(jù)及時(shí)落盤,要求提高數(shù)據(jù)的寫入并發(fā)能力,需要很高的存儲(chǔ)IOPS。尤其在大促場(chǎng)景下,單盤更大的IOPS可以支撐更多用戶下單。

測(cè)試工具:fio是IO性能測(cè)試工具,可以運(yùn)行在Linux、Windows等多種系統(tǒng)之上,可以用來測(cè)試本地磁盤、網(wǎng)絡(luò)存儲(chǔ)等的性能。

測(cè)試方法:我們?cè)诓贿\(yùn)行應(yīng)用情況下,云主機(jī)掛載1100G的SSD云盤,并通過fio壓測(cè)(4K數(shù)據(jù)塊,隨機(jī)寫、隨機(jī)讀,隊(duì)列深度為64,numjobs為8)。對(duì)存儲(chǔ)持續(xù)壓測(cè)一段時(shí)間,取write/read的iops值。

c9fcc3cec3fdfc03f8341c43ffadea93a5c22612.png

結(jié)果:阿里云最好,領(lǐng)先其他幾乎一倍,華為云次之,AWS和騰訊云則是差不多。

2、讀寫延遲

存儲(chǔ)延遲則影響著用戶的體驗(yàn),比如在電商場(chǎng)景下,延遲越低用戶下單的響應(yīng)速度越快。

測(cè)試工具:fio

測(cè)試方法:Linux云主機(jī)安裝fio,在不運(yùn)行應(yīng)用情況下,云主機(jī)掛載1100G的cloud_essd硬盤,并通過fio壓測(cè)(4K數(shù)據(jù)塊,隨機(jī)寫、隨機(jī)讀,隊(duì)列深度為1,numjobs為1)。存儲(chǔ)壓力持續(xù)時(shí)間一段時(shí)間,取write/read的lat值。

結(jié)果:綜合來看,阿里云延時(shí)最小,之后分別是AWS、Azure和華為云。

四、特定場(chǎng)景測(cè)試

即便跑分性能在高,云服務(wù)器畢竟是用來跑業(yè)務(wù)的,機(jī)器的性能最終還是要看E2E的性能。因此,我們選擇了最為常用的幾項(xiàng)應(yīng)用。

1、MySQL

MySQL是最流行的RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng)),在WEB應(yīng)用方面MySQL是最好的RDBMS應(yīng)用軟件之一。

其因?yàn)殚_源、速度、可靠性和適應(yīng)性而被廣泛使用。因而,運(yùn)行MySQL的能行,也是衡量云服務(wù)器表現(xiàn)的一個(gè)重要指標(biāo)。

測(cè)試工具:sysbench是跨平臺(tái)的基準(zhǔn)測(cè)試工具,支持多線程,支持多種數(shù)據(jù)庫;主要包括以下幾種測(cè)試:cpu性能、磁盤io性能、調(diào)度程序性能、內(nèi)存分配及傳輸速度、POSIX線程性能、數(shù)據(jù)庫性能(OLTP基準(zhǔn)測(cè)試)。這里主要使用對(duì)數(shù)據(jù)庫性能的測(cè)試。

測(cè)試方法:選取相同配置的2臺(tái)Linux云主機(jī)進(jìn)行配置:云主機(jī)A上安裝mysql作為服務(wù)器端,云主機(jī)B上安裝mysql client及sysbench作為客戶端,在不運(yùn)行其它應(yīng)用情況下,云主機(jī)B壓測(cè)云主機(jī)A,測(cè)試云主機(jī)A的mysql服務(wù)性能,結(jié)果為取QPS。網(wǎng)絡(luò)壓力持續(xù)時(shí)間為10分鐘,使用sysbench進(jìn)行壓測(cè),獲取平均每秒請(qǐng)求數(shù)QPS。

8cb1cb1349540923b8ecf24ab9cabc0eb2de4992.png

結(jié)論:阿里云在MySQL的場(chǎng)景下性能表現(xiàn)突出,AWS和華為的次數(shù)不相上下,騰訊明顯落后。

由于微軟Azure本規(guī)格并不支持超級(jí)SSD盤,掛載普通云盤測(cè)試MySQL意義不大,因此略去。

2、Redis

Redis是一款開源、高性能的key-value分布式內(nèi)存數(shù)據(jù)庫,基于內(nèi)存運(yùn)行并支持持久化的NoSQL數(shù)據(jù)庫,當(dāng)前最熱門的NoSql數(shù)據(jù)庫之一。

緩存系統(tǒng)、排行榜(如微博的熱搜)、最新列表(如最新的視頻或新聞列表)、分布式鎖和單線程機(jī)制(如秒殺系統(tǒng))等,都是Redis應(yīng)用的典型場(chǎng)景,在大多數(shù)互聯(lián)網(wǎng)業(yè)務(wù)中都非常常見。

測(cè)試工具:Redis自帶了一個(gè)叫redis-benchmark的工具來模擬N個(gè)客戶端同時(shí)發(fā)出M個(gè)請(qǐng)求。

測(cè)試方法:與MySQL的類似,配置兩臺(tái)云主機(jī),分別作為客戶端與服務(wù)器端進(jìn)行壓測(cè),獲取平均每秒查詢數(shù),分別壓測(cè)get、set、sadd、mset四種方式。

a6efce1b9d16fdfad3f48f289e1de15396ee7bf1.png

結(jié)論:綜合來看,阿里云g6e跑Redis的性能同樣是一騎絕塵,華為云和AWS不相伯仲,華為云險(xiǎn)勝,騰訊次之,微軟Azure排名最后。

3、Ngnix

Nginx是一款被廣泛應(yīng)用的高性能的http服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器。cpu、內(nèi)存等資源消耗卻非常低,運(yùn)行非常穩(wěn)定。

測(cè)試工具:使用wrk進(jìn)行壓測(cè),wrk是一款簡(jiǎn)單的HTTP壓測(cè)工具,能用很少的線程壓出很大的并發(fā)量。

測(cè)試方法:與上類似,在不運(yùn)行其它應(yīng)用情況下,作為客戶端的云主機(jī)B啟動(dòng)wrk壓測(cè)作為服務(wù)器端的云主機(jī)A,測(cè)試云主機(jī)A的nginx服務(wù)接受性能。

壓測(cè)wrk的測(cè)試參數(shù)設(shè)定,-c參數(shù)連接數(shù)設(shè)為1000,-t線程數(shù)根據(jù)云主機(jī)B的核數(shù)計(jì)算得出(2倍核數(shù)),獲取平均每秒查詢數(shù),分別壓測(cè)長(zhǎng)連接和短連接兩種場(chǎng)景。

72f082025aafa40fcc4d2f4582f66e4879f0193c.png

結(jié)論:華為云在長(zhǎng)連接的QPS上稍勝一籌,短連接則略有遜色;阿里云則相反;接下來是AWS和騰訊云;微軟Azure再次排最后。

總結(jié):綜合打分

我們可以根據(jù)上述跑分的排名,將各廠商每一項(xiàng)的排名記錄下來,并加總,最后總分最小的,就是服務(wù)器總排名最高的廠商。

241f95cad1c8a786f8af8c944e9ba43a71cf5038.png

根據(jù)得分表來看,阿里云位列綜合排名第一,在PPS、存儲(chǔ)IOPS上有相當(dāng)大的領(lǐng)先優(yōu)勢(shì)。在基礎(chǔ)性能(CPU、內(nèi)存)部分,每個(gè)廠商各有千秋,這個(gè)是硬件選型決定的,測(cè)出來的數(shù)據(jù)符合各個(gè)廠商硬件預(yù)期。

綜合來看,阿里云的g6e的表現(xiàn)還是非常出色的,搭載的CPU雖然不是頻率最高的,但存儲(chǔ)和網(wǎng)絡(luò)占據(jù)絕對(duì)性能優(yōu)勢(shì),這依賴于阿里云在服務(wù)器架構(gòu)上的創(chuàng)新,對(duì)網(wǎng)絡(luò)硬件加速及存儲(chǔ)技術(shù)都做了創(chuàng)新優(yōu)化。

需要特別指出是,阿里云g6e在E2E方面的表現(xiàn)不俗,已領(lǐng)先國(guó)際友商一大截。E2E展現(xiàn)在使用云服務(wù)器時(shí)上層業(yè)務(wù)的表現(xiàn),是最能體現(xiàn)綜合性能優(yōu)勢(shì)的。最終對(duì)比下來,阿里云這款g6e實(shí)例確實(shí)達(dá)到了不錯(cuò)的效果。

其次是華為云,華為云在內(nèi)存性能這塊非常突出,如果內(nèi)存時(shí)延敏感可以考慮選擇華為云。其綜合能力也不錯(cuò),同樣的CPU性能沒拿到第一,但在E2E性能方面排名基本靠前。

接下來就是云計(jì)算祖師爺祖AWS,整體測(cè)試下來的感覺是比較均衡發(fā)展的,各方面都OK,唯獨(dú)在內(nèi)存延遲這里明顯落后,主頻的話由搭載的CPU決定,表現(xiàn)一般。

微軟Azure在CPU這塊性能第一,網(wǎng)絡(luò)延時(shí)也還可以,不過因?yàn)闆]法掛載高性能云盤不好判斷存儲(chǔ)性能,其他性能表現(xiàn)一般,而且考慮到Azure在國(guó)內(nèi)的布點(diǎn),對(duì)用戶又不太友好,著實(shí)不大推薦,如果業(yè)務(wù)對(duì)主頻敏感可以考慮。

最后是騰訊云,騰訊云的S5在計(jì)算性能、內(nèi)存帶寬和內(nèi)存延時(shí)上的跑分還不錯(cuò),Ngnix的性能表現(xiàn)也OK,浮點(diǎn)運(yùn)算方面它雖然排第二,其實(shí)各家相差不大,但網(wǎng)絡(luò)延時(shí)方面S5顯然與其他實(shí)例差距有點(diǎn)大。

各家表現(xiàn)都已經(jīng)一目了然,在買的的時(shí)候可能還得考慮性價(jià)比。由于價(jià)格取決于各家云廠商折扣活動(dòng)非常多,對(duì)不同用戶也有不同的優(yōu)惠政策,大家可以選購的時(shí)候結(jié)合自己的折扣考慮。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于百家號(hào),本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家