是快取還是不快取,這是個問題。
您還在猶豫不決嗎? 為您的 Ceph® 叢集快取? 答案是:視情況而定。
您可以使用 Micron® 9200 MAX 等高階企業 NVMe™ 硬碟,而不必擔心無法讓 Ceph 叢集發揮最大效能。但若您想在大部分由 SATA 硬碟組成的系統中獲得更多效能提升,該怎麼辦。在此情況下,在 Ceph OSD 伺服器上加裝幾個速度更快的硬碟,用於儲存您的 BlueStore 資料庫和預寫記錄,將是理想的選擇。
美光研發並測試了熱門的加速 Ceph 儲存解決方案,該解決方案利用裝有 Red Hat Ceph 儲存裝置且運行 Red Hat Linux 的伺服器。本人將介紹幾個工作負載情境,並根據我們解決方案測試實驗室的實際結果,向您展示快取可以在哪些方面為您提供幫助。
系統組態
測試使用四個 OSD 節點 Ceph 叢集完成,其組態如下:
處理器 | 單插槽 AMD 7551P |
記憶體 | 256GB DDR4 @ 2666Hz(8x32GB) |
網路 | 100G |
SATA 硬碟 | 美光 5210 ION 3.84TB(x12) |
NVMe 硬碟(快取裝置) | 美光 9200 Max 1.6TB(x2) |
作業系統 | Red Hat® Enterprise Linux 7.6 |
應用 | Red Hat Ceph Storage 3.2 |
每個硬碟/SATA 硬碟的 OSD | 2 |
資料集 | 50 個 150GB 的 RBD,每個具有 2 倍副本 |
表 1:Ceph OSD 伺服器組態
4KiB 隨機區塊測試
對於使用 FIO(彈性 I/O)的 4KiB 隨機寫入,您可以看到,使用快取硬碟可在保持低尾延遲的同時大幅提高效能,即使在高負載下亦然。對於 40 個 FIO 實例,效能高出 71%(190K 比 111K),尾延遲要低 72%(119ms 比 665ms)。
圖 1:4KiB 隨機寫入效能和尾延遲
在 4KiB 隨機讀取測試期間,效能會有所提升,但它的令人信服度要小得多。隨著在讀取測試期間,將不會再使用預寫記錄,且 BlueStore 資料庫不會發生太多變更甚或根本不會改變,該資料也在意料之中。
圖 2:4KiB 隨機讀取效能和尾延遲
混合工作負載 (70% 讀取/30% 寫入)亦顯示出在系統中加裝快取裝置的優勢。效能提升範圍從 64 佇列深度的 30% 到 6 佇列深度的 162%。
圖 3:4KiB 隨機 70% 讀取/30% 寫入效能和尾延遲
4MiB 對象測試
以 4MiB 對象執行 rados bench 命令時,裝有快取裝置時效能會有所提升,但並幅度不像小型區塊工作負載那麼大。由於預寫記錄很小,而對象很大,因此加裝快取裝置對效能的影響要小得多。在運行 10 個 rados bench 實例時,與不使用快取相比,使用快取的傳輸量高出 9%(4.94 GiB/s 相較於 4.53 GiB/s),而平均延遲則低 7%(126 毫秒相較於 138 毫秒)。
圖 4:4MiB 對象寫入效能
透過讀取,我們再次看到整個電路板的效能提升微乎其微。
圖 5:4MiB 對象讀取效能
結論
如您所見,若您的工作負載幾乎全都是讀取,那麼為儲存 BlueStore 資料庫和預寫記錄的 Ceph 叢集加裝快取裝置,不會給您帶來太多效能提升。但對於寫入,情況截然不同。雖然對於大型對象,效能會有所提升,但快取裝置真正的看家本領是小型區塊寫入和混合工作負載。只消花少許錢,在系統中加裝幾個美光效能 9200 NVMe 硬碟,即可充分發揮 Ceph 叢集的最大潛力。
您使用開放原始碼儲存裝置獲得哪些類型的結果? 請前往美光加速 Ceph 儲存裝置,瞭解更多資訊。
在 Twitter 上關注我們 @MicronStorage,並在 LinkedIn 上把美光加為好友,隨時掌握最新資訊。