云存儲(chǔ)之對(duì)象存儲(chǔ)性?xún)r(jià)比小談
相信大家對(duì)云存儲(chǔ)的優(yōu)點(diǎn)都已經(jīng)有所了解,例如云存儲(chǔ)支持按需使用,按需付費(fèi),不必承擔(dān)多余的開(kāi)銷(xiāo),也無(wú)需增加額外的硬件設(shè)施或配備專(zhuān)人負(fù)責(zé)維護(hù)。正因?yàn)橛腥绱硕嗟膬?yōu)點(diǎn),市場(chǎng)上云存儲(chǔ)公司也如雨后春筍越來(lái)越多,但選擇太多有時(shí)候也意味著無(wú)從選擇。本文正是通過(guò)客觀的性能評(píng)測(cè)告訴大家該如何選擇。
一般云存儲(chǔ)會(huì)分幾種類(lèi)型:對(duì)象存儲(chǔ)(冷、熱數(shù)據(jù)存儲(chǔ))、塊存儲(chǔ)、表格存儲(chǔ)等,今天主要是評(píng)測(cè)的是對(duì)象存儲(chǔ)中的熱存儲(chǔ),小編帶著大家一起通過(guò)性?xún)r(jià)比的對(duì)比方式來(lái)給各個(gè)云廠商排出名次。
本次入選的云廠商有:AWS,Azure,七牛云,華為云,阿里云等5個(gè)廠商,使用同樣的評(píng)測(cè)方法和工具,選取離存儲(chǔ)最近的同一供應(yīng)商的虛擬機(jī),測(cè)試環(huán)境同樣也選用離云存儲(chǔ)最近的區(qū)域,測(cè)試機(jī)帶寬1000Mbps,為了保證測(cè)試公平性不把測(cè)試機(jī)打爆,測(cè)試機(jī)的CPU利用率<50%,帶寬使用率在<70%,磁盤(pán)IO的讀寫(xiě)吞吐<80MB/s,盡量讓測(cè)試機(jī)是在舒服的情況下工作。
測(cè)試工具和方法
本次性能測(cè)試使用開(kāi)源軟件:apache-jmeter-2.13,測(cè)試方法是通過(guò)調(diào)用各個(gè)云廠商對(duì)外發(fā)布的***版本的SDK(java)來(lái)進(jìn)行上傳下載操作,操作的對(duì)象大小分別是1KB、10KB、100KB、1MB、10MB、1GB,各個(gè)廠商的SDK詳細(xì)版本見(jiàn)列表,如下圖示是一個(gè)簡(jiǎn)單流程圖。

A、測(cè)試性能指標(biāo):
1、Response Time(RT):響應(yīng)時(shí)間,本次比較中RT第50百分位的響應(yīng)時(shí)間。
2、Transactions Per Second(TPS):平均每秒處理的事務(wù)數(shù)。
B、選取的請(qǐng)求:Get(下載),Put(上傳)來(lái)測(cè)試其性能。
C、價(jià)格數(shù)據(jù):官網(wǎng)價(jià)格(截止到2015年11月)。
性能數(shù)據(jù)結(jié)果
為了模擬真實(shí)的用戶(hù)場(chǎng)景,我們預(yù)先在各個(gè)云廠商存儲(chǔ)中分別壓入了接近3000萬(wàn)個(gè)對(duì)象,涵蓋了6個(gè)不同尺寸大小的對(duì)象,分別是1KB、10KB、100KB、1MB、10MB、1GB,在做下載請(qǐng)求的時(shí)候,為了防止有讀緩存會(huì)影響性能,使用隨機(jī)獲取對(duì)象Key值,同時(shí)為了不讓測(cè)試機(jī)器成為瓶頸,僅使用3線(xiàn)程操作(1GB文件是1個(gè)線(xiàn)程),在每個(gè)線(xiàn)程中加入Thinking Time來(lái)保證測(cè)試機(jī)網(wǎng)絡(luò)帶寬不是瓶頸,測(cè)試機(jī)都選用離云存儲(chǔ)相同的區(qū)域,例如華為對(duì)象存儲(chǔ)是華北區(qū),在華為云上購(gòu)買(mǎi)的彈性云(測(cè)試機(jī))也是華北區(qū),阿里云的云存儲(chǔ)是北京區(qū)的,測(cè)試機(jī)(ECS)也選用北京區(qū)的,小編在測(cè)試AWS的時(shí)候,AWS的華北區(qū)僅僅是預(yù)覽版,所以選擇了AWS的俄勒岡,同樣測(cè)試機(jī)(EC2)選用俄勒岡區(qū),以此類(lèi)推,這樣的做法,是保證測(cè)試結(jié)果是準(zhǔn)確和公正的。
下載(GET)文件性能結(jié)果:
結(jié)論:如果云服商能夠在上下行鏈路中做更多的優(yōu)化(如減少數(shù)據(jù)在各節(jié)點(diǎn)間的轉(zhuǎn)發(fā)次數(shù),盡量讓數(shù)據(jù)一次性的從存儲(chǔ)節(jié)點(diǎn)到達(dá)最前端的節(jié)點(diǎn)),那么大小文件的下載的響應(yīng)速度就會(huì)表現(xiàn)更好。綜合從測(cè)試結(jié)果看來(lái),下載1K,10K的小文件,AWS, Azure相對(duì)弱勢(shì),而下載1M,10M的大文件,七牛云,阿里云表現(xiàn)更好。
響應(yīng)時(shí)間(RT):

TPS:

上傳(Put)文件性能結(jié)果:
云服務(wù)廠商要在上傳方面達(dá)到好的效果,通常要做幾方面:1. 盡量減少數(shù)據(jù)的中轉(zhuǎn)環(huán)節(jié);2. 數(shù)據(jù)寫(xiě)入多個(gè)節(jié)點(diǎn)時(shí),傳統(tǒng)做法是從寫(xiě)入節(jié)點(diǎn)同時(shí)發(fā)到多個(gè)節(jié)點(diǎn),但是如果從寫(xiě)入節(jié)點(diǎn)先發(fā)給節(jié)點(diǎn)a,再?gòu)腶發(fā)送給節(jié)點(diǎn)b,這樣就可以避免發(fā)送節(jié)點(diǎn)帶寬的限制。此外,本測(cè)試結(jié)果只針對(duì)服務(wù)端上傳到云存儲(chǔ),更全面的獨(dú)立測(cè)試還可以圍繞客戶(hù)端進(jìn)行(比如有些云服務(wù)廠商在客戶(hù)端上傳sdk中加入斷點(diǎn)續(xù)上傳功能以便讓用戶(hù)體驗(yàn)更好。)
綜合從測(cè)試結(jié)果看來(lái),寫(xiě)1K,10K小文件響應(yīng)時(shí)間中阿里云與七牛云有突出的表現(xiàn),寫(xiě)1M,10M,1G的大文件中,AWS性能表現(xiàn)也不錯(cuò)。大文件中,Azure排名墊底。此外,Azure直接上傳1G的文件全部都超時(shí)失敗了,只能通過(guò)分片的方式上傳,由于測(cè)試工具的原因,這組數(shù)據(jù)僅限參考并不計(jì)入性?xún)r(jià)比。
響應(yīng)時(shí)間(RT):

TPS:

價(jià)格數(shù)據(jù)
現(xiàn)在小編要模擬一個(gè)客戶(hù)真實(shí)的場(chǎng)景,來(lái)計(jì)算一下實(shí)際的發(fā)生費(fèi)用,假定一個(gè)中小型客戶(hù):客戶(hù)每月的存儲(chǔ)空間10T,每天下載流量100G/天,上傳和下載的請(qǐng)求次數(shù)50萬(wàn)次/天,其中AWS和阿里云的存儲(chǔ)分為熱存儲(chǔ)和冷存儲(chǔ),微軟的Azure的存儲(chǔ)計(jì)費(fèi)方式有本地冗余和跨區(qū)域冗余和只讀跨地域冗余。為了統(tǒng)一跟其他廠商一致都選用熱存儲(chǔ)本地冗余的價(jià)格,小編從各個(gè)廠商的官網(wǎng)公布價(jià)格計(jì)算得到下面總價(jià)格,詳見(jiàn)下表,從總價(jià)格列表能看出:最貴的是Azure,***的是七牛,Azure幾乎是七牛的2.5倍價(jià)格。到這里幾乎大部分的客戶(hù)都有***個(gè)反應(yīng),七牛確實(shí)便宜,但是還是要從性能性?xún)r(jià)比的角度來(lái)真正評(píng)定。

(注:由于各廠商價(jià)格經(jīng)常有浮動(dòng),以上價(jià)格選用2015年11月份的價(jià)格)
價(jià)格示意圖:

性?xún)r(jià)比
到了最重要的性?xún)r(jià)比的環(huán)節(jié),我們要清楚知道每一塊錢(qián)到底能買(mǎi)多少性能,根據(jù)上面的測(cè)試結(jié)果和價(jià)格,這樣我們可以得到這樣一組計(jì)算公式:性?xún)r(jià)比=性能相對(duì)值/價(jià)格相對(duì)值,由于1G文件上傳有些廠商沒(méi)值,小編選用了1K小文件+10M大文件的上傳下載作為性能數(shù)據(jù),以國(guó)內(nèi)廠商阿里云的OSS性?xún)r(jià)比作為標(biāo)桿,其性?xún)r(jià)比值設(shè)置為1,其他廠商來(lái)跟他對(duì)標(biāo)情況。根據(jù)給出的測(cè)算公式,綜合性?xún)r(jià)比排名前三的是:七牛云,阿里云,AWS。 墊底的是跟AWS一樣來(lái)自海外的Azure。


(注:按照一個(gè)用戶(hù)購(gòu)買(mǎi)云存儲(chǔ)一個(gè)月:存儲(chǔ)空間10T,流出流量100GB/天,Get和Put請(qǐng)求次數(shù)(均25萬(wàn)次/天))
計(jì)算公式:性?xún)r(jià)比=性能相對(duì)值/價(jià)格相對(duì)值
性能相對(duì)值=(云存儲(chǔ)RT性能相對(duì)值/4*60%)+(云存儲(chǔ)TPS性能相對(duì)值/4*40%)
云存儲(chǔ)RT性能相對(duì)值=阿里云/AWS(GET1K文件(RT))+阿里云/AWS(PUT1K文件(RT))+阿里云/AWS(GET1M文件(RT)+阿里云/AWS(PUT1M文件(RT)
云存儲(chǔ)TPS性能相對(duì)值=AWS/阿里云(GET1K文件(TPS))+AWS/阿里云(PUT1K文件(TPS))+AWS/阿里云(GET1M文件(TPS))+AWS/阿里云(PUT1M文件(TPS))
價(jià)格相對(duì)值=AWS的云存儲(chǔ)價(jià)格/阿里云的云存儲(chǔ)價(jià)格
注:/ 符號(hào)為除以符號(hào);用阿里云的值作絕對(duì)值,另以上RT性能越小越好,所以用阿里云/AWS,TPS性能越大越好,所以用AWS/阿里云;性能取值為50百分位。
結(jié)束語(yǔ):
對(duì)于互聯(lián)網(wǎng)領(lǐng)域的初創(chuàng)企業(yè)和轉(zhuǎn)型互聯(lián)網(wǎng)+的傳統(tǒng)企業(yè)來(lái)說(shuō),選擇正確的云存儲(chǔ)的廠商是創(chuàng)業(yè)和轉(zhuǎn)型成功的基本保障。然而對(duì)待各種廠商宣傳的各種能力,我們要做到心里有桿秤,既不盲目聽(tīng)從廠商性能宣傳,也不能僅僅從價(jià)格上來(lái)做選擇。
對(duì)于如何評(píng)價(jià)一個(gè)云廠商的好壞,性?xún)r(jià)比是一種很好選擇的方法,當(dāng)然我們?cè)谧鲞x擇的時(shí)候,還可以通過(guò)產(chǎn)品的易用性,廠商的服務(wù)質(zhì)量和能力,以及產(chǎn)品安全能力和產(chǎn)品覆蓋區(qū)域來(lái)做更多的選擇。
原文鏈接:http://www.china-cloud.com/yunjishu/IAAS/cunchu/20151226_47711.html