當前位置:
首頁 > 新聞 > MySQL的啟示:Intel Optane P4800X評測(4)

MySQL的啟示:Intel Optane P4800X評測(4)

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

本次測試特邀熊貓直播高級DBA楊尚剛參與。尚剛在互聯網公司工作多年,是MySQL資料庫等方面的專家。

在這一系列評測中,從前面幾篇已經可以全面了解使用3D XPoint Memory的Optane P4800X SSD硬體本身的性能,以及在Oracle資料庫中的表現和價值。如果還沒看過並且有興趣的朋友可以點擊下列鏈接:

《Intel Optane P4800X評測(序):不用緩存和電容保護的SSD?》

《Intel Optane P4800X評測(1):好鋼如何用在刀刃上?》

《Optane P4800X評測(2):Oracle 170萬TPM意味著什麼?》

《Intel Optane P4800X評測(3):Windows綁核優化篇》

至於MySQL,在Intel官網上也有一篇文章《Applying Intel Optane SSDsto MySQL- Part 1 Fast Storage》,其中的測試數據還看上去還不錯。那麼我們自己的實測結果如何呢?

測試環境還是之前那套平台:Dell PowerEdge R830伺服器,配置4顆Xeon E5-4610 v4 1.8G十核CPU和256GB內存。分別檢驗資料庫放在Intel SSD P3700和Optane P4800X上的表現。

首先,我們將列出bufferpool(也就是資料庫在系統內存中的緩存)設置為14GB時的測試結果。

第一輪測試:P3700

已跑滿,Optane

仍有餘地

測試資料庫MySQL 5.7.18 官方社區版

QPS(query persecond)包括資料庫的讀寫操作,橫坐標為並發數,以下同

select查詢場景是只讀操作。由於測試平台CPU總共40個物理核心/80線程,SysBench壓測到128線程已達峰值性能。進一步觀察,在Optane P4800X和P3700兩者QPS差不多的情況下,P3700的ioutil能到100%,而Optane的ioutil在60-70左右。也就是說P3700已經到了極限,而Optane還是有空間的,進一步性能發揮可能受限於MySQL自身或者CPU。

由於資料庫緩存的作用,該場景的平均延時表現差不多(瓶頸不在卡上),所以上面我們列出的是95% QoS延時。這個應該就是Cache未能命中那些落到SSD上的I/O,所以低並發時Optane的優勢大一些。

insert插數據場景則是100%寫,我看了OptaneP4800X和P3700的數據沒有明顯差距,無論QPS還是延時。由於bufferpool的緩存作用,insert此時應該主要受限於MySQL本身。下文中我們還會列出調小Cache後的insert壓測曲線。

這個圖表比較的是平均延時,與上面一張不同。

OLTP場景為混合讀寫。記得早年看到另一位DBA專家朋友@jametone在微博上寫道:存儲的(小塊)I/O中,讀容易離散而寫相對連續的時候多(印象中是這個意思)。一方面資料庫Cache有合并作用,此外日誌文件也是順序寫。

由於這裡的事物比前面複雜,64並發測試的延時不到10ms,128並發為15ms左右,都在可以接受的範圍內。

以上測試MySQL Cache大小設置為14GB,如果將其上調則緩存命中率提高,測試數據還能更好一些,但Optane P4800X和P3700的差距也會更加不明顯。

調低Cache

命中率,壓到SSD

上現差距

我們知道資料庫的Cache命中率取決於2個因素:內存Cache容量和庫文件(數據集)大小。為了體驗Cache命中率較低時的情況,我們此次選擇不改變數據量,而是把bufferpool調整為1GB。

當資料庫Cache減小為1GB之後,OLTP場景的QPS數值有所下降,而兩塊SSD卡也拉開了差距。在64並發下P3700的平均延時已經超過20ms,此時OptaneP4800X還不到10ms。下面是1小時的壓測曲線:

註:藍色和橙色曲線分別為Intel Optane P4800X(3D XPoint Memory)和P3700(NAND快閃記憶體),此時資料庫緩存命中率較低,壓力能夠反映到SSD上,所以差距比較大。

Insert

場景:Optane

寫穩定性更好

在資料庫緩存命中率較低時,insert插入測試的差別也更明顯了,Optane P4800X的QPS較為穩定,而P3700則有較大幅度跌落的時候(與《Intel Optane P4800X評測(1):好鋼如何用在刀刃上?》一文中的結果接近)。雖然主要的瓶頸在資料庫,但Optane還是能夠改善性能穩定性。

註:Intel SSDP3700的DWPD(5年平均每天整盤隨機寫遍數)高達17,在傳統NAND快閃記憶體SSD中屬於壽命高、寫性能穩定的代表之一。

官方測試對比思考:環境、評估標準不同

上圖來自我在開頭提到那篇Intel網站上的文章,這裡也是對比的OLTP工作負載,為什麼結論與我們的測試有些不同呢?下面我來解釋一下:

1、首先,Intel這一測試使用了與OptaneSSD容量相對接近的400GB P3700,從下表中可以看出其寫入性能與1.6TB、2TB大容量點差距較大,由於這個Optane P4800X顯得「更快」。而我們的測試則主動選擇了P3700 2TB,因為更想看到Optane與旗艦快閃記憶體卡之間的比較。

價格上,大家都知道3D XPoint Memory單位容量比較貴吧,不過要是拿P3700 2TB與P4800X 375GB比就應該在同一級別了。

這個表格我在《Intel發布P4500、P4600 NVMe SSD:規格釋疑》一文中列出過

根據常識SSD的寫性能和壽命與容量有關,Intel新一代的P4600雖然寫速度更快些,但由於其3DTLC快閃記憶體的壽命沒有P3700高,所以寫耐久度不在一個級別。目前第一代3D XPoint介質已經達到了30 DWPD,而且Optene P4800X只用375GB就達到了50萬穩態隨機寫IOPS。

2、Intel這個10倍差距,比較的是99% QoS延時在10ms左右的TPS性能。這比人們通常對比的平均延時和95% QoS要求更加苛刻。而早在《再談3D XPoint:延時、QoS與隊列深度》一文中我就提到QoS延時是OptaneP4800X的一大優勢。

3、Intel的測試平台使用了2顆Intel Xeon E5 2699 v4 CPU,主頻2.2GHz一共44核心;比我們用的4顆Xeon E5-4610v4 1.8G(共40核)性能要高一些,有助於緩解CPU在資料庫測試中的瓶頸。當然這不是PowerEdgeR830伺服器平台的不足,如果我能用E5-4669 v4之類的CPU測,估計又是另外一番風景了。

總結

與之前Oracle測試中的情況類似,MySQL SysBench也是在資料庫Cache命中率調低後,才能將SSD存儲的差距放大。正如尚剛所說,如今瓶頸更多在於CPU和軟體本身,「軟體的適配還跟不上硬體的發展」。

上文中還提到了QoS延時,順便我也做個預告:系列評測的下一篇除了SDPK之外,還會讓P4800X和P3700的QoS延時同場競技。請大家繼續關注!

特邀作者/

測試專家介紹

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

參考資料 https://itpeernetwork.intel.com/applying-intel-optane-ssds-to-mysql-part-1-fast-storage/

註:

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

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

原文鏈接:https://mp.weixin.qq.com/s?__biz=MzAwODExNjI3NA==&mid=2649776162&idx=1&sn=e0b2f83ce26f2bb310c55bb797d25f2d&chksm=8377017fb40088692240e3f90bd1738b5cda02fb45ba345be5d43c9228b6e7f3894210fd9821#rd

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

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


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

Intel反擊!56核心頂級平台首秀:8卡加速
> Intel擠牙膏內傷!7nm居然全球墊底:AMD徹底...
Intel擠牙膏內傷!7nm居然全球墊底:AMD徹底逆襲
Anandtech公布科技巨頭7nm路線圖:Intel大幅落後
intel 好多年沒出功耗這麼變態的CPU了

TAG:intel |

您可能感興趣

MySQL 問題分析 : ERROR 1071 (42000) : Specified key was too long
MySQL ERROR 1050 (42S01): Table xxx already exists
CentOS6.6下搭建jdk、tomcat、MySQL、Nginx
CentOS 7編譯安裝MySQL 8.0
CentOS7 重置 MySQL 8.0 密碼
Ubuntu18.04安裝mysql
centos7安裝mysql8.0
最流行的開源資料庫:MySQL Server 8.0.17發布
Linux部署Nginx+Mysql+PHP+PHPMyAdmin4環境
Linux查看Nginx、Apache、MySQL、PHP的編譯參數
外文翻譯丨「王者對戰」之 MySQL 8 vs PostgreSQL 10(深度)
CentOS7.2+PHP7.0.25+Nginx1.12.2+MySQL8.0安裝步驟及采坑排雷心得
powerdesigner16鏈接mysql5
Mysql8.0主從搭建,shardingsphere+springboot+mybatis讀寫分離
Windows NT MySQL 5.7安裝詳細(圖文)
MySQL Explain詳解
搜索:ElasticSearch OR MySQL?
MySQL 中 Identifier Case Sensitivity
MySQL使用JPA+Hibernate的9個高性能技巧
mysql8+mybatis-plus3.1自動生成lombok和swagger和增刪改查介面