【云駐共創】BoostKit鯤鵬全局緩存技術助力Ceph性能提升10倍,真香
今天開始學習BoostKit鯤鵬全局緩存技術,該技術是鯤鵬實驗室最新開源的技術。

本文將從如下幾個方面展開闡述。
存儲行業特點及挑戰
全局緩存創新與價值
全局緩存功能介紹
全局緩存使用介紹
1. 存儲行業特點及挑戰
有統計數據顯示,企業應用每增加100ms存儲時延會造成1%的銷售損失。如下圖所示:
從21年到23年,關鍵業務的占比從25%增加到60%,數據庫等中高負載業務從45%減少到15%,一般業務從 30%減少到25%。
對于關鍵業務一般使用的存儲類型是 增強型\極速SSD云硬盤(全閃存),這種方式主要的痛點是 要求極致時延和IOPS SSD使用成本高。
對于數據庫等中高負載業務使用的存儲類型是超高IO云硬盤(全閃存、均衡型SAS),這種方式的主要痛點是對性價比降低時延。
對于一般業務使用的是高IO云硬盤(均衡型SATA)
1.1.Ceph開源存儲方案面臨的性能挑戰
Ceph開源存儲方案面臨的性能挑戰主要是: IOPS性能低,IO時延高。 而造成這種情況的原因主要有如下三個方面:
IO請求流程多,線程切換開銷大
IO處理流程長,隊列等待多,端到端時延高。
IO隨機性大,磁盤帶寬利用率低。
IO的寫入流程是:
Message 接受入隊
三副本數據處理
數據持久化
元數據持久化
資源釋放,響應完成。
我們可以看到一個完整的IO寫入流程包括了5大流程,流程真的很長。
那么BoostKit鯤鵬全局緩存技術又是如何應對這些挑戰的呢?
2. 全局緩存創新與價值
BoostKit鯤鵬全局緩存技術主要有三大創新技術,通過三大創新技術可以實現存儲性能飛躍式提升。
緩存前后臺分離,縮短IO路徑
IO聚合,實現磁盤帶寬性能
智能預取,提高讀緩存命中率。
下面我分別就這三大創新技術進行一個簡要的說明。
2.1. 緩存前后臺分離,縮短IO路徑
在計算側(前臺)重定向到全局緩存,讀寫IO請求直接在緩存中命中并實時反饋給上層應用。
全局緩存的IO數據異步下刷到后端存儲側(后臺)或提前預取數據到全局緩存
其實現流程如下圖所示:
從圖中可以看出讀IO和寫IO都是在全局緩存中實現的。
寫IO首先將數據寫入緩存中,然后異步下刷到磁盤中。
異步IO批量預取提前命中,異步數據預取,讀IO直接從緩存中取數據。
這樣做的好處就是 提高了異步刷盤速率,保證寫緩存100%命中,降低寫時延。
提高預取準確率,加大緩存容量,保證讀緩存80%命中,降低讀時延。
如下圖所示:展示了緩存前后臺的具體實現。
流程解耦:寫緩存刷盤,讀緩存淘汰無需互斥,可靈活控制各自水位。
資源解耦:讀寫緩存并發,Quota資源等解耦,避免相互影響。
介質類型解耦:讀寫緩存可分為管理異構緩存介質(RAM,NVMeSSD),實現介質分離。
冗余策略優化:讀cache使用單副本,提高cache空間利用率,寫cache使用三副本,保證數據可靠性。
2.2. IO聚合,實現磁盤帶寬性能
IO聚合:通過聚合算法,回寫策略和垃圾回收等能力,實現隨機寫小IO聚合成順序寫大IO,實現磁盤帶寬的利用率,使性能得到大幅提升。
按需讀取:從元數據中獲取小IO映射關系,下盤讀取小IO數據,無讀放大。
通過高效的索引算法和數據排列,僅提高有效數據塊,并和新寫入的數據進行IO聚合,減少IO開銷和降低垃圾對業務的影響。
具體實現如下圖所示:
2.3. 智能預取,提高讀緩存命中率
基于創新的負載識別算法,識別不同應用訪問Pattern(如流式、關聯、熱點等),并通過歸一化特征模型制定最優參數(預取門限,長度等),實現80%以上緩存命中率和2倍+讀性能提升。
如下圖所示:展示了智能預取分離技術架構:
這里主要有兩個技術
雙引擎分離:創新性的Client端推薦引擎+Server端執行引擎分離的智能預取架構。
全局精準推薦:推薦引擎擁有全局數據訪問視圖,從而進行全局精準推薦。
3. 全局緩存功能介紹
3.1. 全局緩存技術的整體架構
說完了全局緩存的創新點之后,接下來讓我們來看看全局緩存的各個核心功能。
全局緩存技術的整體架構如下圖所示:
可以用三橫+兩縱來總結全局緩存技術框架。
三橫:客戶端集群、緩存集群、存儲集群
兩縱:讀寫路徑分離雙驅加速的邏輯布局。
寫緩存:數據寫入、刪除功能、保證Cache前后臺寫低時延、
讀緩存:數據讀取功能,數據預取和淘汰、保證高Cache命中。
元數據管理:高性能元數據管理引擎、小IO聚合、垃圾回收
集群管理:集群管理、運行狀態管理,故障處理框架。
持久化:數據持久化存儲,三副本資源池,介質管理。
適配層:對接開源Ceph存儲,終結Ceph語義。
基礎設施:系統啟動、內存管理、日志、命令行、系統調度。
3.2. 全局緩存功能規格一覽
1. 高性能
支持單節點 14W IOPS,1ms時延。
2. 集群兼容性
提供無侵入式接口API支持主流ceph集群接入
支持塊存儲服務,對象存儲服務
支持快照及克隆功能
支持鯤鵬平臺硬件,openEuler,RedHat系統
4. 可靠性
數據持久化存儲防掉電丟失。
數據三副本以節點域存儲,防止單點故障。
支持集群故障自動檢測,自動故障切換和恢復。
5. 安全性
數據通道和管理通道默認支持TLS1.3 安全傳輸
7. 擴展性
支持按需增加緩存節點擴展緩存規模
支持在線升級
數據持久化存儲防掉電丟失
數據三副本以節點域存儲,防止單點故障
支持集群故障自動檢測,自動故障切換和恢復。
4. 全局緩存使用介紹
說完了那么多BoostKit鯤鵬全局緩存技術的功能和好處,那么如何使用BoostKit鯤鵬全局緩存呢?
首先找到用戶指南,指南地址是:https://support.huawei.com/enterprise/zh/doc/EDOC1100228002?idPath=23710424%7C251364417%7C9856629%7C253662285
按照用戶指南一步步去操作使用吧!!!!
總結
本文從四個方面闡述了BoostKit鯤鵬全局緩存技術,該技術針對Ceph開源存儲方案存在的痛點,采用三大創新技術,有效的提高了Ceph的性能,最高可以將Ceph性能提升10倍。如下圖所示:
本文整理自華為云社區【內容共創】活動第12期。
查看活動詳情:https://bbs.huaweicloud.com/blogs/325315
相關任務詳情:任務13.【鯤鵬直播間】BoostKit 全局緩存技術
鯤鵬
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。