當前位置:
首頁 > 最新 > NVMe SSD可以有多快?實測性能全分析

NVMe SSD可以有多快?實測性能全分析

測試平台的選擇和考慮

企事錄實驗室有多套伺服器平台,最新的SkyLake處理器也有白金版8180/8176和黃金版6154/6146等四種,具體細節如下表:

企事錄實驗室中的四款當紅的SkyLake處理器,不同的內核數量有不同的主頻,TDP也不同

根據以往的經驗來看,對於大多數的應用而言,在處理器都擁有一定數量內核基礎上,提升主頻所獲得的性能提升,比增加內核所獲得的性能提升要高出很多。部分原因在於,很多軟體沒有充分為多核優化,提升CPU主頻能夠直接給應用帶來性能提升,而更多內核則通常需要操作系統乃至上層應用進行相關優化才能獲得性能收益。因此,企事錄實驗室選擇了Intel Xeon Gold 6146處理器作為測試平台,相比於其他三款CPU,其擁有最高的主頻。

企事錄實驗室用於測試DC S4500與DC P4500/4600性能的Intel白牌伺服器

企事錄實驗室將Xeon Gold 6146處理器安裝在型號為S2600WF的Intel雙插槽伺服器主板上,配備256GB DDR4-2666內存,使用一片容量為400GB的Intel DC S3710 SSD作為啟動盤,安裝Oracle Linux 7.4操作系統,以及Oracle 12c資料庫(包括Grid和Database)軟體,分別使用Intel DC S4500、DC P4500以及DC P4600作為Oracle資料庫的存儲,以DC S4500的性能作為基準,比較NVMe SSD與SATA SSD的性能區別。

從上到下分別為Intel DC S4500、DC P4500(背面)和DC P4600。DC S4500採用2.5英寸7mm(毫米)厚度,相對DC P4500/4600的2.5英寸15mm厚度設計,顯得輕薄很多

DC S4500採用6Gb/s SATA介面,是Intel傳統SATA SSD產品的延續,主要面向讀密集型應用場景,最近Intel又新增了DC S4600系列SSD,同等容量下,耐寫等級是DC S4500的三倍,隨機寫IOPS翻了一倍,同樣是SATA SSD的延續,但面向寫密集型應用場景。

採用U.2介面的DC P4500/4600則是Intel新一代的NVMe SSD,包括最新的快閃記憶體控制器設計和3D NAND快閃記憶體顆粒,以及更新的NVMe 1.2規範支持。DC P4500主要面向讀密集型場景,DC P4600面向中度寫負載場景,所以DC P4600擁有更高的耐寫等級,以及更好的隨機寫性能。

Intel DC S4500/4600與DC P4500/4600 SSD相關數據對比,數據來源於Intel官網,企事錄實驗室整理。延遲主要分為順序延遲和隨機延遲,業內通常將小尺寸數據(如4K)的隨機讀寫延遲作為存儲性能的衡量標準;Intel官網上所公布的DC P4500/4600為4K數據塊的隨機讀寫延遲,而DC S4500則是順序讀寫延遲。為了統一比較,企事錄實驗室與Intel聯繫,獲得了DC P4500/4600的順序讀寫延遲,但DC S4500的隨機讀寫延遲未能提供,不過這在後面的性能驗證中可以獲得

由於DC P4500/4600面向不同程度的讀寫應用場景,DC P4600的隨機寫性能更高,且耐寫等級是DC P4500的5倍左右。其內部的NAND快閃記憶體顆粒和快閃記憶體控制器也有區別:

Intel DC P4500與DC P4600中的快閃記憶體顆粒,分別使用兩種不同的3D NAND快閃記憶體顆粒

Intel DC P4500與4600中的快閃記憶體控制器和DRAM。快閃記憶體控制器看起來像是同一型號,均配備了兩種類型的DRAM,猜測其中一顆DRAM可能主要用作寫Buffer

Intel第四代SSD針對寫I/O進行了優化,I/O寫入快閃記憶體控制器中的寫Buffer中即返回操作成功,間隔一定時間之後再統一刷到NAND存儲中。SSD中配備的兩顆電容可以保證SSD在突然掉電的情況下將DRAM中的數據寫到NAND存儲之中,以保證數據不丟失。這一機制帶來的好處就是,寫延遲比讀延遲還低,如前文表中所示,DC P4500/4600的讀延遲為82微秒,而寫延遲僅為30微秒。

NVMe SSD性能驗證性測試

企事錄實驗室使用FIO工具分別對DC S4500與DC P4500/4600的裸盤性能進行了驗證。

企事錄實驗室分別使用兩種尺寸——4K和8K的數據塊來驗證這三種SSD在不同隊列深度下的性能表現。4K數據塊的隨機訪問性能是業界用以衡量SSD隨機性能的事實標準,8K數據塊主要用以衡量其在資料庫應用下的性能表現。

不同隊列深度有著不同的性能表現,通常隊列深度為1時有最好的延遲表現;隨著隊列深度的增加,其IOPS會隨之增長,直到獲得SSD的最大IOPS;在未達到SSD的最大IOPS時,隨著隊列深度的增加,其延遲增加通常並不劇烈;在達到最大IOPS後,隨著隊列深度的增加,其IOPS趨於穩定,但延遲通常會隨隊列深度的增加而線性增長。

由於新開箱SSD的緣故,測試結果存在一定的誤差,成績會偏好。如上圖所示,DC S4500的4K隨機讀取IOPS超過了8.5萬,略好於Intel官網公布的7.2萬IOPS;同樣,DC P4500和DC P4600的4K隨機讀取IOPS分別超過了54萬和56萬,高於官網公布的49萬與55萬,但誤差並不明顯。

在8K隨機讀取性能測試方面,DC S4500達到5.1萬IOPS,DC P4500和DC P4600分別超過了32萬和34萬IOPS。同時,企事錄實驗室還收集了其在不同隊列深度下的延遲表現情況,如下圖所示:

從測試結果來看,DC S4500在隊列深度為1時,其延遲為0.18ms(即180微秒),DC P4500/4600在隊列深度為1時的延遲分別0.04ms和0.03ms,證明NVMe SSD(DC P4500/4600)的延遲確實比SATA SSD(DC S4500)好很多。同時也證明了Intel官網所公布的DC S4500的延遲數據(36微秒)為順序讀寫時的延遲表現

同樣,企事錄實驗室以相同的方法分別測試了DC S4500與DC P4500/4600在不同隊列深度下的4K、8K隨機寫性能,上圖為其IOPS增長情況,在隊列深度為8時,達到最大IOPS,DC S4500達到3.9萬IOPS,高於官網公布的3萬IOPS;DC P4500達到了11萬IOPS,遠高於官網的3.8萬IOPS,這可能跟開箱新盤測試有一定關係,雖然在正式測試之前,已用數天時間對SSD至少擦寫了一遍,但測試成績仍舊偏高;DC P4600則達到17.5萬IOPS,與官網公布的成績一致。

當隊列深度為1時,DC S4500與DC P4500/4600的延遲均保持在0.04ms(即40微秒)左右,與Intel官網數據基本保持在同一水平。從2隊列深度開始,隨著隊列的增加,延遲成倍增長

在帶寬方面,NVMe SSD顯然是有巨大優勢的,U.2介面的NVMe SSD基本都採用PCIe 3.0 x4通道,理論帶寬接近4GB/s,大塊數據順序讀的實際帶寬能達到3.2GiB/s左右;而SATA 3.0介面的理論帶寬為6Gb/s,大塊數據順序讀的實際帶寬在550MiB/s左右,有近乎6倍的差距。下圖為企事錄實驗室驗證NVMe SSD(DC P4500/4600)與DC S4500的64K順序讀寫帶寬能力:

從測試結果來看,DC S4500的讀寫帶寬接近500MB/s,距離SATA 3.0介面的實際帶寬極限已經不遠了。DC P4500/4600的順序讀帶寬超過了3200MB/s,基本上到達了PCIe 3.0 x4通道的實際帶寬極限;同時,DC P4500實測的順序寫帶寬接近1100MB/s,與官網公布的1050MB/s基本一致;DC P4600的實測順序寫帶寬則超過了1350MB/s,與其公布的1325 MB/s基本一致(5%以內的性能差距可理解為測試誤差)

通過上述測試可以看出, DC S4500、DC P4500以及DCP4600的實際測試成績基本與Intel官網提供的性能數據相符合,由於測試平台或者測試方法,乃至SSD的新舊程度不同,可能會導致測試成績有一定的誤差,但在較小範圍內(通常5%為合理值),企事錄實驗室認為其是真實有效的。

但值得注意的是,這只是針對底層硬體(SSD)的性能測試,只能為基於之上的應用提供較為模糊的性能參考,如果要了解其在特定應用場景下的性能表現,通常需要在更高層級使用與之對應的工具(解決方案)進行測試。

針對資料庫應用的存儲性能測試

使用NVMe SSD以加速資料庫應用性能是目前主流的應用場景,但如何衡量SSD在資料庫應用中的性能表現並不容易,如Fio、IOmeter之類的測試工具只針對IO子系統(IO Subsystem),並不能真實反映其在資料庫中所能發揮的性能。

根據以往的Oracle資料庫測試經驗,通過多種不同測試工具的對比,企事錄實驗室將這些工具按照作用層級大致分為3類:

企事錄實驗室在基於Intel Xeon Gold 6146處理器的雙插槽伺服器上構建Oracle單實例資料庫系統,依次使用1/2/3/4片DC S4500和DC P4600作為其資料庫存儲,分別使用SLOB和Swingbench工具進行測試,對比DC S4500與DC P4600 SSD在Oracle資料庫環境下的性能表現。

在SLOB測試中,分別使用1/2/3/4片DCS4500以及DC P4600 SSD作為實際數據存儲,均寫入128GB測試數據,對其進行隨機讀取性能測試,測試完畢後整理數據並進行對比,其結果如下:

在使用DC S4500 SSD作為Oracle資料庫存儲時,隨著DC S4500 SSD數量逐一增加,其性能線性增長,在4片DC S4500 SSD全部用作Oracle資料庫存儲之後,其最大性能超過了11萬Rds/s(Reads/s)

而使用DC P4600 SSD作為Oracle資料庫存儲之後,即使只使用1片DC P4600 SSD,其也獲得了3倍於4片DC S4500 SSD的性能之和,是單片DC S4500 SSD性能的10倍;隨著DC P4600 SSD的增加,其性能隨之線性增長。但在同時使用3片DC P4600之後,其性能達到最大值——85萬Rds/s,從性能增長曲線推測,3片DCP4600 SSD的性能並未完全發揮,還略有盈餘,但由於其他子系統(如計算、操作系統)達到瓶頸,即使再加入第4片DC P4600 SSD,其性能仍保持平穩,並未有所增加。

利用Swingbench工具能夠更加真實反映使用SSD作存儲的Oracle資料庫伺服器的綜合性能表現。企事錄實驗室使用了另外一台配備Intel XeonE5-2699 v4處理器的雙插槽伺服器作為壓力客戶端,其上安裝Windows Server 2012 R2 Datacenter操作系統,以及Swingbench工具,用以測試Oracle資料庫伺服器(Intel Xeon Gold 6146處理器+DC S4500/DC P4600)性能,壓力客戶端與Oracle資料庫伺服器通過萬兆乙太網連接。

為了儘可能排除大內存容量帶來的性能虛高影響,在創建測試資料庫時,將SGA調整為32GB,每次均寫入120GB測試數據,在啟動測試後,至少穩定運行1小時後獲得性能結果,經過整理,分別使用1/2/3/4片DC S4500與DC P4600 SSD作存儲的Oracle資料庫性能(TPM)如下圖所示:

由於Swingbench屬於應用層測試,其並不能單純反應某一子系統的具體性能,而體現的是Oracle資料庫伺服器的綜合性能。在逐一添加DC S4500 SSD做資料庫存儲時,其TPM性能基本能線性增長,在加入第3片SSD後,獲得最大性能——160萬TPM。由於其他子系統瓶頸的出現,在加入第4片DC S4500之後,其性能並沒有明顯增加

相對於DC S4500,DC P4600能夠提供更好的性能表現,在只使用1片DC P4600 SSD做存儲的情況下,其TPM就超過了140萬,接近3片DC S4500所能提供的TPM性能。在加入第2片DC P4600 SSD之後,Oracle資料庫達到172萬TPM。同樣由於其他子系統觸及瓶頸,並未完全發揮2片NVMe SSD的性能,即使加入第3片DC P4600 SSD,其性能略有抬頭,但並沒有明顯變化。

同時,SSD的使用讓Oracle資料庫取得近200萬TPM時,平均響應時間(延遲)並沒有明顯變化,在逐次添加DC S4500 SSD做存儲後,其平均響應時間均維持在2ms左右;而對於DC P4600 SSD而言,其平均響應時間也在2ms左右,在加入第3片DC P4600SSD之後,雖然TPM性能並未明顯增加,但3片SSD均攤了I/O壓力,讓Oracle資料庫的響應更快,其平均延遲反而下降了1ms。

此外,還有一個現象需要注意,在上述測試所用的Oracle資料庫伺服器中添加多塊SSD,尤其是性能更好的NVMe SSD,其資料庫性能很容易就到達頂點。在Oracle為代表的應用里,存儲已經不再是瓶頸,計算資源的供應(如CPU核心數量、主頻以及內存大小)需要針對性優化;同時,軟體方面(如操作系統、應用程序本身)也需要進行優化,比如在Linux操作系統中,有實踐證明,使用Intel推出的SPDK(Storage Performance Development Kit)套件+NVMe SSD有助於應用性能提升。

在實際應用環境中,諸如Oracle資料庫等應用通常計算、存儲分離部署,使用網路(iSCSI、FC或InfiniBand等)實現連接,企業用戶要發揮(NVMe)SSD的性能優勢,還需要評估網路性能,以防網路成為瓶頸。企事錄實驗室相關測試證明,使用更高帶寬的網路(25/100GbE),同時啟用RDMA(RoCE)等功能,並與NVMe over Fabrics規範相結合,能夠顯著提高存儲子系統的性能表現。

經過本次測試,企事錄實驗室認為,SSD,尤其是NVMe SSD能夠大幅提升存儲子系統的性能表現,並降低響應時間(延遲),可以更好地支持企業應用,特別是對響應時間要求苛刻、IO密集型的企業關鍵業務應用,使用NVMe SSD將大幅提升用戶體驗。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 企事錄 的精彩文章:

TAG:企事錄 |