為了滿足更多用戶在存儲和檢索大量數(shù)據(jù)、提供豐富與個性化體驗、及時響應(yīng)點擊與手勢的要求,新型互聯(lián)網(wǎng)與移動應(yīng)用需要高I/O資源。為此,亞馬遜AWS旨在EC2中加入一個新的“家庭成員”:運行低延遲、I/O密集型應(yīng)用、支持NoSQL數(shù)據(jù)庫如Cassandra和MongoDB的新實例,打破了一直存在于云世界的I/O瓶頸。真金不怕火煉,讓我們來看看新的I/O體系究竟如何!
測試基準(zhǔn)的制定
去年公布的Apache Cassandra performance benchmark顯示,用數(shù)百個非常小的EC2實例就可以獲得類似每秒超過百萬客戶端進行寫入的效果。之前測試了用于Cassandra上建立和管理軟件Priam的擴展性,并證明了,大規(guī)模的Cassandra集群按線性擴大,也就是10倍數(shù)量的實例將讓你獲得10倍的吞吐量?,F(xiàn)在我們發(fā)布了一些基準(zhǔn)它能體現(xiàn)出在原有類型系統(tǒng)和新的基礎(chǔ)SSD的系統(tǒng)上運行Cassandra的對比。
AWS實例中的I/O元素摘要
已有幾個臨時的儲存元素被存于網(wǎng)絡(luò)磁盤中,它們將在實例結(jié)束后被刪除。基于現(xiàn)有內(nèi)部磁盤在Cassandra環(huán)境中進行的測試對比,主要采用了四個方案:m1.xlarge、m2.4xlarge、cc2.8xlarge以及現(xiàn)在加入的SSD hi1.4xlarge。AWS CPU性能對應(yīng)了EC2的每一種實例。
我們首先在擁有最好CPU平衡性的Netflix上使用m2.4xlarge來運行Cassandra,盡管我們還必須通過調(diào)度每一個節(jié)點的精簡和修復(fù)來不讓I/0過載,但CPU和RAM容量仍然為我們工作的重中之重。
基于SSD實例上的hi1.4xlarge
這種新的基于SSD的類型實例在臨時存儲中提供了很高性能。在/proc/cpuinfo的報告中顯示CPU為2.4GHz擁有8個核心和超線程技術(shù)的Intel Westmere E5620 ,這樣就擁有了16個CPU線程。其CPU性能上介于m2.4xlarge和cc2.8xlarge之間,相同的RAM容量,和cc2.8xlarge同樣的10GB網(wǎng)絡(luò)接口。
磁盤的結(jié)構(gòu)為兩個1TB左右大的SSD,使實例能勝任100000左右的低延遲IOPS和1GB每秒的吞吐量。新的基于SSD的實例能提供數(shù)百倍于其他儲存方式的吞吐量,以及極低延遲。
測試結(jié)果
首先,對于一個新的子系統(tǒng),我們必須做基礎(chǔ)文件系統(tǒng)的性能等級測試,我們使用izone測試準(zhǔn)則來查證我們在當(dāng)前的磁盤條件下一個非常短的時間內(nèi)(大約20—60/ms)是否可以得到100000的IOPS和1GB/S的吞吐量。
然后我們用Cassandra的壓力測試來用簡單的數(shù)據(jù)存儲模式對一個小型的數(shù)據(jù)集進行存儲,類似我們?nèi)ツ旯嫉臏?zhǔn)則。我們發(fā)現(xiàn)我們的測試經(jīng)常受到CPU限制,但是在啟動的那小段時間隨著數(shù)據(jù)加載進存儲器,我們?nèi)匀豢梢栽诖疟P上得到接近1GB/每秒的吞吐量。
接著就是更多的混合,我們?nèi)〕鑫覀儍Υ嬖贑assandra中最大的數(shù)據(jù)和從備份中恢復(fù)兩份拷貝。一份在m2.4xlarge上,另一份在hi1.4xlarge上,這樣我們就可以得出在同等的條件下以SSD為基礎(chǔ)的新模塊究竟有多完善。下一個將會是最有意思的對比。
Netflix的應(yīng)用基準(zhǔn)測試
我們的架構(gòu)是精細入微的,每一個開發(fā)團隊都擁有自己的一套服務(wù)和數(shù)據(jù)存儲。結(jié)果就是,我們的產(chǎn)品中擁有十個Cassandra集群,每一個都服務(wù)于不同的數(shù)據(jù)源。我們從中抽取一個擁有靜態(tài)數(shù)據(jù)提供應(yīng)用程序的集群,該應(yīng)用程序使用了聘美于Cassandra為寫操作提供的緩存層來完成讀的工作。我們的目的是想知道,在不使用系統(tǒng)緩存的情況下使用SSD是否會帶來延遲。用EVcache來管理緩存層。下面是兩項配置的對比:
現(xiàn)有的系統(tǒng): 48 Cassandra>
成本對比
在使用基于SSD模式的系統(tǒng)中,瓶頸從I/O轉(zhuǎn)換到CPU上,我們就可以大量的減少實例個數(shù)。參照了現(xiàn)有的收費體系,完全可以通過減少實例數(shù)量來減少花費。
將Cassandra上的工作放到SSD上的優(yōu)勢
同吞吐量的成本大幅降低
大幅提升I/O的速度,降低延時
總結(jié)
這是AWS一次突破性的提升,無疑的克服了應(yīng)用程序受制于數(shù)據(jù)庫連接的囧境,給云端的人們帶來了福音。我們期待作為云世界的領(lǐng)跑者Aamazon能一直與時俱進,為云世界的開拓和完善做出新的貢獻。