InfiniBand 是一種被目前各種追求高性能的應(yīng)用廣泛使用的網(wǎng)絡(luò)互連技術(shù),基于 IBTA(InfiniBand Trade Association)而定義的高帶寬、低延時、低 CPU 利用率、大規(guī)模易擴展的通信技術(shù)。原生支持 RDMA 技術(shù),在保證高帶寬輸出的基礎(chǔ)上,大大降低數(shù)據(jù)訪問延遲及通信過程中對于 CPU 資源的消耗,并支持各種先進(jìn)的網(wǎng)絡(luò)計算(In-Network Computing)技術(shù),為高性能計算、人工智能、云計算、存儲等眾多數(shù)據(jù)密集型應(yīng)用提供了強大的網(wǎng)絡(luò)性能支撐。通過高速的 InfiniBand 技術(shù),將業(yè)務(wù)負(fù)載由單機運行轉(zhuǎn)化為基于多機協(xié)作的高性能計算集群,并使高性能集群的性能得以進(jìn)一步地釋放和優(yōu)化。
GreatSQL 是由萬里數(shù)據(jù)庫維護的國內(nèi)自主 MySQL 分支版本,專注于提升 MGR 可靠性及性能,支持 InnoDB 并行查詢特性,適用金融級應(yīng)用。
此次通過對比測試基于 InfiniBand 的 NVMe SSD 池化方案 及本地 NVMe SSD 的傳統(tǒng)方案的性能表現(xiàn),評估使用基于 InfiniBand 的存算分離架構(gòu)對分布式數(shù)據(jù)庫性能的提升程度及擴展性,經(jīng)過雙方合作,通過大量數(shù)據(jù)分析,可以看出基于 InfiniBand 池化方案的存算分離架構(gòu)的性能更優(yōu)穩(wěn)定性更強,為 GreatSQL 進(jìn)一步提升競爭力提供了有力的基礎(chǔ)平臺支撐。
1、NVIDIA InfiniBand 池化方案介紹
分布式數(shù)據(jù)庫集群由兩部分組成:
計算節(jié)點是無 SSD 盤的裸金屬服務(wù)器,運行 MySQL 業(yè)務(wù)程序;
存儲節(jié)點提供 NVMe SSD 資源池,通過軟件聚合方式提供高性能 Lun 實現(xiàn)對于數(shù)據(jù)庫的數(shù)據(jù)的存儲服務(wù)。
兩部分服務(wù)器通過 Quantum 平臺的 InfiniBand 網(wǎng)絡(luò)實現(xiàn)對計算節(jié)點和存儲節(jié)點的無損連接,結(jié)合 NVMe-oF(NVMe over Fabric)高效的數(shù)據(jù)存儲傳輸協(xié)議,將存儲節(jié)點的 Lun 掛載到計算節(jié)點,實現(xiàn)結(jié)算節(jié)點本地高性能的數(shù)據(jù)存儲能力。
2. 測試環(huán)境
為了可以公平對比兩種方案的優(yōu)劣,兩次測試均采用同一臺計算服務(wù)器進(jìn)行測試,不同的是,本地方案存儲由本地的 PCIe4.0 NVMe SSD 承載,InfiniBand 池化方案由 100Gbps 速率的 HDR100 網(wǎng)卡接入,通過相同型號的 NVMe SSD 組成的全閃服務(wù)器借助 NVMe-oF 提供高性能虛擬 Lun 完成數(shù)據(jù)訪問。
2.1 存儲設(shè)備
InfiniBand 池化方案
本地 SSD
2.2 CPU&內(nèi)存
2.3 操作系統(tǒng)
文件系統(tǒng)
塊設(shè)備
2.4 壓測參數(shù)&指標(biāo)
壓測工具:sysbench
模式:oltp_read_write。
每輪壓測時長:900 秒。
每輪壓測休眠間隔:180 秒。
共 64 個表。
每個表 12500000 條記錄。
整個測試庫大小約 186 G。
采用InnoDB引擎。
并發(fā)線程數(shù)變化:8、16、32、64、128。
ibp(innodb buffer pool)變化:47G、93G、140G、186G(約為物理數(shù)據(jù)的25%、50%、75%、100%)。
主要參數(shù)選項:
sysbench 測試命令模板:
3. 性能表現(xiàn)&總結(jié)
3.1 測試總結(jié)
結(jié)論先行,整體測試情況如下:
當(dāng)ibp不足以覆蓋全部物理數(shù)據(jù)時:
1)GreatSQL 8.x 性能遠(yuǎn)高于 GreatSQL 5.7。2)并發(fā)線程數(shù)越高,IB+NVMe SSD vs 本地NVMe SSD 的差距越小。3)ibp 越大,GreatSQL 5.7 和 8.0 性能越接近。
當(dāng) ibp 基本可以覆蓋全部物理數(shù)據(jù)時:
1)GreatSQL 5.7 的性能整體比 GreatSQL 8.0 略好。
總的測試下來看,IB NVMe SSD 相比 本地 NVMe SSD 的性能要更好,也更穩(wěn)定一些。
嘗試對比測試了組提交(binlog group commit),在本案中對性能影響很小,這里不再贅述。
嘗試對比設(shè)置 innodb_thread_concurrency = 64|128,發(fā)現(xiàn)加上后,在 ibp 足夠大,且并發(fā)也打滿 128 線程后,性能更穩(wěn)定些,波動沒那么大了,且最終整體性能也能提升約 8% ~ 10%(不過也要考慮到,真實生產(chǎn)環(huán)境中,很少會跑滿這么大壓力)。
總的來說,當(dāng)物理內(nèi)存不足以覆蓋業(yè)務(wù)數(shù)據(jù)時(生成環(huán)境中這種情況很常見),如果單靠增加物理內(nèi)存以提升數(shù)據(jù)庫性能可能從性價比角度看并不劃算,不如換個思路,提升本地物理 I/O 設(shè)備的性能,畢竟現(xiàn)在 NVMe SSD 的性能可以跑到很高。
3.2 測試數(shù)據(jù)對比圖表
1)ibp=47G
2)ibp=93G
3)ibp=140G
4)ibp=186G
4. 結(jié)語
從以上測試數(shù)據(jù)中,可以明顯看到采用了 InfiniBand 池化方案數(shù)據(jù)庫性能在不同場景中性能都有不同程度的明顯提升,由其在高并發(fā)場景下,表現(xiàn)由于突出。
未來,萬里數(shù)據(jù)庫將推動 GreatSQL 協(xié)同 NVIDIA 探索更多基于 InfiniBand 在數(shù)據(jù)庫中的結(jié)合點和創(chuàng)新點,基于 NVIDIA InfiniBand 打造數(shù)據(jù)庫+網(wǎng)絡(luò)軟硬一體化聯(lián)合解決方案,為用戶創(chuàng)造更多價值。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7255瀏覽量
91814 -
SSD
+關(guān)注
關(guān)注
21文章
2981瀏覽量
119558 -
InfiniBand
+關(guān)注
關(guān)注
1文章
31瀏覽量
9395
原文標(biāo)題:GreatSQL & NVIDIA InfiniBand NVMe SSD 存算分離池化方案:實現(xiàn)高性能分布式部署
文章出處:【微信號:NVIDIA_China,微信公眾號:NVIDIA英偉達(dá)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
評論