Intel Optane P4800X評測:好鋼用在刀刃上?

英特爾 固態硬盤 CPU 數碼評測 企業存儲技術 2017-05-17

本文內容非商業用途可無需授權轉載,請務必註明作者、微博ID:唐僧_huangliang,以便更好地與讀者互動。

在《Intel Optane P4800X評測(序):不用緩存和電容保護的SSD?》一文發表之後,有同行朋友不只一次詢問後續測試的情況,看來大家對Optane/3D XPoint Memory的真實性能很感興趣。

Intel Optane P4800X評測:好鋼用在刀刃上?

安裝在R830半高PCIe擴展槽位上的Intel Optane P4800X

我們進行的Intel Optane SSD DC P4800X測試跑在Dell PowerEdge R830平臺上,R830是一款2U四路服務器,支持XeonE5-4600 v4系列CPU。

另外值得一提的是,本次測試有幸邀請到熊貓直播高級DBA楊尚剛參與。許多朋友都知道,尚剛在互聯網公司工作多年,是MySQL數據庫等方面的專家。

FIO性能測試:驗證和補充

之前我在《Optane P4800X內存模式背後技術》一文中列出過Intel ProductBrief文檔所寫的性能,也是用fio工具獲取的。那麼我們一方面想用自己的測試數據來做個驗證,同時也能補充更多的性能指標,以便大家能夠更全面地瞭解Optane P4800X。

1、低併發下IOPS,延時優勢

Intel Optane P4800X評測:好鋼用在刀刃上?

通過實測,我們手頭這塊Optane P4800X SSD跑出了58萬以上的4KB隨機讀IOPS,比資料中的55萬略高;同樣NVMe接口使用NAND閃存的P3700在高併發/隊列深度(Quene Depth)下也測到了標稱的46萬。

而我們還注意到,當QD=64時P3700的讀IOPS為39萬,而QD=16時只有14萬,與Optane P4800X形成鮮明對比。這個與之前瞭解到3D XPoint介質在低隊列深度下表現突出是相符的。

大家知道Intel P3700的控制器是18通道,而在實際測試中64併發/隊列深度也沒把它的性能潛力壓滿,這讓我想起2015年IDF期間曾經寫過SSD性能的“色子效應”。

Intel Optane P4800X評測:好鋼用在刀刃上?

在《不用閃存了,OptaneSSD為何還要28%的OP?》一文中,談到過OptaneP4800X 375GB可能是7通道設計。根據QD=16基本達到峰值的測試數據來看,3D XPoint Memory的實際併發效果比NAND閃存要好。

Intel Optane P4800X評測:好鋼用在刀刃上?

再來看看平均延時。在併發/QD為64和512時Optane P4800X的優勢雖然沒有達到與其單位容量價格成正比的水平,但QD 16低隊列深度的表現讓我們滿意。

Intel Optane P4800X評測:好鋼用在刀刃上?

如上表,Optane P4800X當隊列深度=1延時小於10μs,QD=16也僅上升到20μs。可以看出PCIe接口在這裡的限制,如果未來做成DIMM形態插在內存通道上,與閃存的差距預計還會加大。

2、寫穩定性,Optane沒有FOB/穩態差別

Intel Optane P4800X評測:好鋼用在刀刃上?

4KB隨機寫IOPS,Optane P4800X標稱的是50萬,我們本次測出的54-55萬還是稍高。至於IntelP3700,17萬是資料中的標稱值,至於20-21萬的測試數據,有一部分是開始測試時還沒有達到穩態寫性能。下面列出並介紹下測試數據生成的詳細圖表,相信這個對大家會有參考價值。

注:在《Intel發佈P4500、P4600 NVMe SSD:規格釋疑》中我提到新一代P4600的最大穩態寫IOPS提升到25萬。

Intel Optane P4800X評測:好鋼用在刀刃上?

Intel SSD P3700隨機寫IOPS測試曲線

上圖中的文字有點小,大家可以點擊放大,我也輔助說明下——測試曲線是4K隨機寫IOPS,縱座標刻度從10萬到40萬,橫座標為時間3600秒(1小時),藍色、橙色和綠色曲線分別對應併發/QD 16、64和512。

大多數朋友應該都瞭解使用NAND閃存介質的SSD,其隨機寫性能在FOB(Fresh Out of The Box,新盤或者全盤擦除後)和穩態之間的差距。這裡的藍色曲線可以說相當典型,我們預先將滿盤寫滿並開始測試,P3700的隨機寫一開始可達40萬IOPS,當OP(超量分配)空間用滿後臺觸發GC(垃圾回收)滑落到10萬出頭然後逐漸恢復到17萬穩定值。

緊接下來的QD=64測試基本保持在穩態,而QD=512恰好則是我們後來進行過“性能恢復”再測的曲線,這個結果不難理解吧。

Intel Optane P4800X評測:好鋼用在刀刃上?

上圖對比了Optane P4800X和P3700在併發/QD=64時的隨機寫IOPS曲線,可以看出前者明顯更穩定。前文中我們提到過3D XPoint Memory沒有傳統SSD那樣的寫放大,也不需要垃圾回收。即改寫數據時不需要先擦除以完成P/E Cycle,所以不會因為寫滿和存儲空間的碎片化而影響性能穩定。相比之下,NAND閃存SSD在64及以上併發時的波動明顯波動要多一些。

3、為什麼說平均延時應用體驗

Intel Optane P4800X評測:好鋼用在刀刃上?

隨機寫延時,Optane P4800X在高併發/隊列深度下的優勢也比較明顯,而實際體驗我認為比這個還要好(稍後給大家解釋)。

Intel Optane P4800X評測:好鋼用在刀刃上?

上面這個P3700的數據我在不只一篇文章中列出過。儘管Intel標稱的典型隨機寫延時為25μs,但隊列深度為1時Cache的作用更加明顯,我們測試併發/QD=16達到平均80μs。下面的詳圖對比推薦給大家。

Intel Optane P4800X評測:好鋼用在刀刃上?

Intel SSD P3700隨機寫延時測試曲線

上面這張延時圖與前面的IOPS曲線相對應,縱座標的刻度從1000到5000μs。這部分大致總結出2點:

1、在測試中寫IOPS較高的階段,相應的延時也較短,但這段表現也還沒達到穩態;

2、併發加大後NAND閃存SSD的延時波動增加比較多。比如我們前面列出P3700在QD 512時2760μs的平均值,實際用戶體驗要按4000μs(即4ms)以上來評估了吧?

對比下面的Optane P4800X區別很直觀:

Intel Optane P4800X評測:好鋼用在刀刃上?

Intel Optane P4800X隨機寫延時測試曲線

不難看出,P4800X在併發/QD=512隨機寫延時仍相當穩定,我覺得這個900μs左右的實際體驗至少要比同樣條件下P3700好4-5倍以上。

這就是為什麼企業級SSD廠商強調QoS延時。《再談3D XPoint:延時、QoS與隊列深度》一文中我曾經有過詳細一些的討論,其中關於P3700的性能數據後來進行過更新,結論如下:

“…P3700 QoS 99.99% QD=16的讀延時,如果不出意外應該在4-5ms之間,OptaneP4800X要勝出幾十倍了。”

Intel Optane P4800X評測:好鋼用在刀刃上?

“Intel P3700在99.99% QoS範圍、QD=1的4KB隨機讀延時為4ms,是Optane P4800X的60μs的接近70倍,而且後者給出的QoS等級還要更高…”

真實應用隊列深度:ServerSAN、超融合帶來的影響

在撰寫本文之前,我記得曾經看到過關於實際應用存儲負載,在隊列深度方面的分析。網上搜了一下查到本文開頭提到過那篇2015年IDF的文章。

Intel Optane P4800X評測:好鋼用在刀刃上?

根據這份數據,Hadoop大數據、使用HammerDB數據庫工具壓測TPC-C、HPC高性能計算、ZFS文件系統寫日誌,以及YCSB(Yahoo Cloud Serving Benchmark)產生的隊列深度都不算高(10以內最多);只有TPC-H(OLAP)例外,甚至有一部分I/O達到260 QD以上。

較之兩年前我有一點新體會:以上這個圖表估計是監測服務器單機上的I/O負載,集中式存儲系統的情況有些不同,因為經常要同時面對多個主機的訪問,產生混合I/O負載。而ServerSAN和超融合的情況又有變化,因為存儲(控制器)節點Scale-out擴展更加普遍。

再加上下一代服務器對NVMe SSD數量支持的增加,未來高性能的存儲應用負載,最終分攤到每節點上單一SSD的I/O隊列深度仍然不見得會很高。因此之前人們講的可能還適用——以P3700為代表的NAND閃存盤,許多應用中其最大IOPS可能無法充分發揮。而OptaneP4800X的情況就不同了。

最後再交代一點,由於符合NVMe標準和通用驅動,目前AIC(PCIe插卡)形態Optane P4800X的兼容性應該比較好。在我們測試的PowerEdgeR830服務器平臺上,表現良好而穩定。

Intel Optane P4800X評測:好鋼用在刀刃上?

引用自《Dell PowerEdge R830 Owner's Manual》Table 34. Expansion card installation order(部分),這裡面有散熱和機械裝配的考慮。

由於多路Xeon服務器的PCIe插槽可能來自不同的CPU控制,安裝前我們特意查閱了Dell的用戶手冊,感覺上圖內容還是挺有用的。這既是用戶建議也是內部兼容測試列表的一種反映。如果是半高NVMe PCIe SSD擴展卡,可以先使用3和4兩個插槽,7/6/2/1都支持全高(半長)擴展卡。根據手冊中的更多內容,可以看出PCIe槽編號3/6/7來自CPU 1,而1/2/4/5來自CPU 2,除了1、6插槽支持PCIe x16帶寬之外餘下都是x8信號。

本文先寫到這裡吧,後面再給大家分享包括數據庫在內的更多測試結果。

特邀作者/測試專家介紹

楊尚剛,熊貓直播高級DBA,之前在新浪負責新浪微博核心數據庫架構設計和優化,以及數據庫平臺硬件測試和選型。

注:本文只代表作者個人觀點,與任何組織機構無關,如有錯誤和不足之處歡迎在留言中批評指正。進一步交流技術,可以加我的QQ/微信:490834312。如果您想在這個公眾號上分享自己的技術乾貨,也歡迎聯繫我:)

尊重知識,轉載時請保留全文。感謝您的閱讀和支持!《企業存儲技術》微信公眾號:huangliang_storage

原文鏈接:https://mp.weixin.qq.com/s?__biz=MzAwODExNjI3NA==&mid=2649775963&idx=1&sn=a0f9c7523b45f903cbbff19bef14edc5&chksm=83773e06b400b710cdb413efefb9d38c4ec127e1d4e15c043d8d522a77dbb1c99d1a7c4f156d#rd

相關推薦

推薦中...