先上評測結(jié)果:

  實(shí)測阿里云ESSD云盤的IOPS高達(dá)101萬,是第二名華為超高IO云硬盤的30多倍,同時不到100us的時延也刷新了SSD云盤的最快記錄,在具體業(yè)務(wù)場景下,可將PostgreSQL數(shù)據(jù)庫的寫入性能提升26倍。

 5家主流云廠商SSD云盤FIO測試 阿里云高出第二名30倍

評測工具:FIO ,F(xiàn)IO是測試IOPS的非常好的工具,也是各大云廠商推薦的標(biāo)準(zhǔn)開源軟件,用來對存儲設(shè)備進(jìn)行壓力測試和驗(yàn)證,支持13種不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等。本次測試采用libaio異步I/O引擎,通過加大隊(duì)列深度、提高并發(fā)的方式來壓測出各家SSD云盤的最高性能。

阿里云官方宣稱ESSD云盤比上一代SSD云盤IOPS提升了50倍,吞吐上限提升了14倍高達(dá)4000MBps,單路時延縮短80%,為100微秒。

我們申請了一塊容量為10TB的ESSD 云盤,運(yùn)行FIO(4K數(shù)據(jù)塊,高并發(fā)隨機(jī)寫)后成績?nèi)缦拢?/p>

  從測試結(jié)果來看,單盤能達(dá)到101萬,與官網(wǎng)給出的100萬性能基本一致,看來阿里云并非夸了大口,即使在百萬IOPS級別下,時延也能控制在500微秒左右,非常適合OLTP實(shí)時交易類的業(yè)務(wù)應(yīng)用。

  同時,我們也進(jìn)行了單盤單路4K隨機(jī)寫時延測試,ESSD的表現(xiàn)非常出色,平均時延為97微秒左右,99分位時延為122微秒,整體時延能力控制的比較平穩(wěn),對于那些并發(fā)度比較低的單線程應(yīng)用業(yè)務(wù),相比阿里云上一代的SSD云盤上的表現(xiàn),會有一個比較顯著的提升。

作為對比,我們在AWS的io1云盤上運(yùn)行FIO進(jìn)行壓測,最高IOPS測試結(jié)果如下

  IOPS達(dá)到了3.09萬,距離官方標(biāo)稱的3.2萬差別不大,同時單路時延為577微秒,如下:

  再來看看微軟的Azure,同樣也是FIO工具壓力測試,最高IOPS只有7642,單路時延卻高達(dá)2942微秒,很不理想,原因未知。

  作為國內(nèi)后起之秀,騰訊云和華為云的表現(xiàn)也不錯,兩者實(shí)測IOPS分別為23.3K和33.4K,但在時延上成績并不出色,分別是848微秒和836微秒。

騰訊云:

?
  華為云:

?
  上述五家云廠商的成績,我們放到一張圖中來對比一下:

?
  ??不管是IOPS還是單路時延,阿里云ESSD單盤性能的100萬IOPS和100微秒,都超越了目前的SAN/全閃存廠商能夠提供的最佳值,IOPS甚至比第二名的華為云快了30倍,背后的原因究竟是什么?感興趣的朋友不妨參閱《大話存儲》作者冬瓜哥在微信公眾號上的文章:《阿里云單盤百萬IOPS的背后》。冬瓜哥認(rèn)為,25Gb/s以太網(wǎng)+Luna通信庫框架+用戶態(tài)驅(qū)動+Append Only等是性能提升的關(guān)鍵。

 模擬真實(shí)業(yè)務(wù)場景 PostgreSQL數(shù)據(jù)庫寫入提速26倍

跑分高還要在業(yè)務(wù)上實(shí)踐才能發(fā)揮出價值。不難發(fā)現(xiàn),ESSD云盤主要適合用于IO密集型應(yīng)用,比如OLTP下的關(guān)系型數(shù)據(jù)庫,或者NoSQL數(shù)據(jù)庫等。這類應(yīng)用有個共性的特點(diǎn)就是對存儲IO的要求比較高,同時對時延又比較敏感,特別是在電商、支付、交易等行業(yè)和場景中,實(shí)時性要求特別強(qiáng)。

基于這種特性,我們選擇PostgreSQL這一款近幾年大熱的開源數(shù)據(jù)庫,模擬面向企業(yè)復(fù)雜SQL處理的OLTP在線事務(wù)處理場景,來進(jìn)行標(biāo)準(zhǔn)化測試,同時我們選取阿里云上一代SSD云盤作為對比參考,看性能有多少提升。

測試用例一:TPC-B模型測試

測試目的:TPC-B 模型(measures throughput in terms of how many transactions per second a system can perform ),主要是為了模擬真實(shí)的數(shù)據(jù)庫事務(wù)操作場景下,測試一秒可以處理的事務(wù)個數(shù)。

測試工具:pgbench

測試方法:pgbench -M prepared -n -r -P 1 -c 64 -j 64 -T 600

測試規(guī)格:

– ecs.g5.8xlarge 32C/128G + 2TB SSD云盤

– ecs.g5se.8xlarge 32C/128G + 2TB ESSD云盤

測試結(jié)果對比:

  同等配置下的性能對比,采用ESSD云盤之后,整體TPS比上一代提升了384%,平均時延降低了74%。

測試用例二:不含索引多表批量寫入

測試目的:模擬一個非常典型的測試TP或AP場景,表示了數(shù)據(jù)實(shí)時灌入場景的能力。

測試工具:pgbench

測試方法:pgbench -M prepared -n -r -f ./test.sql -P 5 -c 56 -j 56 -T 300 (unlogged ,不帶xlog 鎖)

測試規(guī)格:

– ecs.g5.8xlarge 32核128G內(nèi)存,SSD云盤為2TB

ecs.g5se.8xlarge 存儲增強(qiáng)型32核128G內(nèi)存,ESSD云盤為2TB

測試結(jié)果對比:

  相同配置下的實(shí)例和云盤,從原來的每秒插入20W 行記錄,提升到每秒插入523W 行記錄,性能提升高達(dá)2660%。

從PostgreSQL下的2個典型業(yè)務(wù)場景測試的結(jié)果來看,阿里云的ESSD云盤的確能給實(shí)際業(yè)務(wù)帶來數(shù)倍乃至數(shù)十倍的性能提升。

價格方面,阿里云ESSD云盤保持了與原來SSD云盤相同的價格水平,依舊是每GB月使用成本1元錢(中國站大陸地域定價)。這樣定價方式略顯“激進(jìn)”,但從歷次降價來看,阿里云的普惠科技理念還是誠意滿滿的,希望國內(nèi)其他云廠商也能跟進(jìn),讓我們享受到更大的實(shí)惠。

分享到

songjy

相關(guān)推薦