在第一篇文章中,我們打破了“云不等于高性能”這個(gè)流言,并且概括了如何在一個(gè)EC2實(shí)例上以1.68美元/小時(shí)的開銷獲得百萬TPS。在本篇文章中,我們將評(píng)估4個(gè)Amazon實(shí)例的性能,場景是內(nèi)存中由4個(gè)Aerospike節(jié)點(diǎn)組成的集群,用例則是5個(gè)不同的讀/寫負(fù)載。在這個(gè)部分中,r3.2xlarge是最好價(jià)格性能比的獲得者。
曾今有多個(gè)報(bào)告說明分布式NoSQL數(shù)據(jù)庫在虛擬和實(shí)體云基礎(chǔ)設(shè)施上的性能:
基于這一系列的基準(zhǔn)測試,我們選擇了一個(gè)4節(jié)點(diǎn)Aerospike集群,當(dāng)然數(shù)據(jù)完全加載在內(nèi)存中,負(fù)載則使用現(xiàn)實(shí)世界中5個(gè)真實(shí)用例――從100%的寫入負(fù)載,50/50、80/20、95/5讀寫負(fù)載,再到100%的讀負(fù)載。在第一篇報(bào)告中,我們使用了百萬個(gè)對(duì)象,而在這個(gè)測試中我們將對(duì)象數(shù)量擴(kuò)展到4000萬個(gè),4個(gè)節(jié)點(diǎn)的Aerospike集群將比單節(jié)點(diǎn)部署做更多的混合讀寫負(fù)載,主要原因則是同步復(fù)制和一致性保障。
我們選用了如下4個(gè)Amazon實(shí)例:
結(jié)果1:Amazon R3.*根據(jù)讀負(fù)載的比例線性擴(kuò)展Aerospike集群TPS
越高越好
在一個(gè)4節(jié)點(diǎn)的Aerospike集群上,Amazon R3.*實(shí)例在所有負(fù)載中交付了最高的吞吐量,其TPS隨負(fù)載讀的比例線性擴(kuò)展。其他類型實(shí)例會(huì)在網(wǎng)絡(luò)上出現(xiàn)瓶頸,因此不能支撐更多的讀操作。
結(jié)果2:Amazon延時(shí)對(duì)比每實(shí)例TPS
越低越好
每個(gè)Amazon實(shí)例都有請(qǐng)求數(shù)量閾值,在這個(gè)閾值之下,操作可以在更低延時(shí)被處理。一旦達(dá)到這個(gè)值,即使可以獲得更高的吞吐量,延時(shí)也會(huì)隨著請(qǐng)求數(shù)量增加而惡化。
結(jié)果3:只有節(jié)點(diǎn)數(shù)量在一定范圍之內(nèi),Amazon R3.Large才能線性擴(kuò)展Aerospike的TPS
越高越好
在80/20讀寫負(fù)載下,r3.large實(shí)例上的Aerospike TPS可隨節(jié)點(diǎn)數(shù)量線性擴(kuò)展,2和8節(jié)點(diǎn)數(shù)量對(duì)應(yīng)的TPS分別是2.7萬和14萬。
結(jié)果4:對(duì)比節(jié)點(diǎn)數(shù)量和跨Amazon實(shí)例的TPS
越低越好
結(jié)果5:使用Aerospike時(shí),R3.2xlarge表現(xiàn)出更好的價(jià)格性能比
越低越好
取決于實(shí)例,2-67個(gè)節(jié)點(diǎn)被需求以提供1.5到100萬的TPS,價(jià)格分別從每月252到8552美元。當(dāng)然使用年預(yù)留實(shí)例時(shí),價(jià)格會(huì)變低,這個(gè)圖顯示了對(duì)于Aerospike來說,最好的實(shí)例就是r3.large或r3.2xlarge。而在同等性能下3.2xlarge節(jié)點(diǎn)數(shù)量最少,開銷最低。
下面我們將概述相關(guān)步驟,因此你可以親自驗(yàn)證Amazon實(shí)例的性能并復(fù)制結(jié)果,可以看到在Amazon實(shí)例上使用Aerospike時(shí)的線性擴(kuò)展、超高吞吐量和極低的延時(shí)。
按部就班的設(shè)置
cd <java client>/benchmarks<br>./run_benchmarks -z 40 -n test -w I -o S:10 -b 10 -l 23 -k 40000000 -latency 5,1 -h YOUR_AWS_INTERNAL_IP
開始。從多個(gè)Java基準(zhǔn)客戶端提交均勻分布負(fù)載。PS:我們在r3.8xlarge上運(yùn)行了一個(gè)單客戶端,因?yàn)樗銐驖M足我們的負(fù)載需求。
自己動(dòng)手測試
我們在GitHub上發(fā)布了一個(gè)基于云的腳本(https://github.com/aerospike/aws-cloudformation/blob/master/vpc.json),它打包好了一切上述設(shè)置。根據(jù)README介紹,你可以自己動(dòng)手測試。它運(yùn)行的速度很快,整個(gè)過程總花費(fèi)大約是5.60美元。
原文鏈接:http://highscalability.com/blog/2014/8/20/part-2-the-cloud-does-equal-high-performance.html
如您需要了解AWS最新資訊或是技術(shù)文檔可訪問AWS中文技術(shù)社區(qū);如您有更多的疑問請(qǐng)?jiān)贏WS技術(shù)論壇提出,稍后會(huì)有專家進(jìn)行答疑。
訂閱“AWS中文技術(shù)社區(qū)”微信公眾號(hào),實(shí)時(shí)掌握AWS技術(shù)及產(chǎn)品消息!
AWS中文技術(shù)社區(qū)為廣大開發(fā)者提供了一個(gè)Amazon Web Service技術(shù)交流平臺(tái),推送AWS最新資訊、技術(shù)視頻、技術(shù)文檔、精彩技術(shù)博文等相關(guān)精彩內(nèi)容,更有AWS社區(qū)專家與您直接溝通交流!快加入AWS中文技術(shù)社區(qū),更快更好的了解AWS云計(jì)算技術(shù)。
(責(zé)編/王玉平)