設計工具
儲存裝置

深入探討:美光 6500 ION 的 Cassandra 效能

Ryan Meredith | 2023 年 7 月

Apache Cassandra™ 是 NoSQL 資料庫,可儲存全球大量資料。1我的團隊最近使用美光 6500 ION 測試了 Cassandra,將其效能與競爭對手的 QLC 硬碟進行比較,您可以在我們最近發佈的技術簡介中找到這些結果。

在測試 Cassandra 時,我們使用基於 eBPF2 的 Linux NVMe 追蹤工具,在工作負載碰到磁碟時挖掘其輸入/輸出 (IO) 模式。我們發現的結果非常有啟發性。

平均效能

使用基準工具測試應用程式時,結果通常以測試長度的平均關鍵績效指標 (KPI) 的形式分享。雖然對於提供系統擴充和效能的廣泛檢視很有價值,但它並不真正地說明整體情況。以下是我們的結果範例:這在一系列測試上,顯示出令人印象深刻的效能提升和減少服務品質 (QoS) 延遲3,擴充 YCSB 執行緒計數。資料點代表以 8、16、32、64 和 128 YCSB 執行緒進行四次 20 分鐘測試的平均效能。

Cassandra YCSB:50% 讀取/50% 更新 - 平均讀取延遲與 YCSB Ops/s 圖表

但是,當我們使用 iostat 等標準 Linux 工具查看平均磁碟吞吐量時,我們看到效能似乎非常低。

在 32 個 YCSB 執行緒中,使用美光 6500 ION 進行的測試平均讀取速度為 357MB/s,寫入速度為 136MB/s。NVMe SSD 絕對比這更快? 發生了什麼事?

發生了什麼事? 32 個執行緒的 YCSB 50% 讀取/ 50% 更新

從工作負載量追蹤中,我們擷取了儲存裝置活動的摘要,提供 20 分鐘執行期間儲存密集型工作負載的圖片:

 

Cassandra,YCSB 50% 讀取/ 50% 更新

6500 ION

讀取區塊大小

100% 4KB

GB 讀取總量

680GB

寫入區塊大小

74% 508KB-512KB

寫入的 GB 總數

255GB

丟棄區塊大小

80% > 2GB

丟棄的 GB 總數

69GB

按 IO 計數的讀取百分比

99.6%

按磁碟區的讀取百分比

68%

按 IO 計數的寫入百分比

0.4

按磁碟區的寫入百分比

25%

按 IO 計數的丟棄百分比

0%

按磁碟區的丟棄百分比

7%

 

區塊大小

工作負載的 IO 大小(區塊大小)會對效能產生重大影響。在這裡,我們看到 100% 的 4KB 讀取,以及大部分的 508KB 和 512KB 寫入,其中有許多小型寫入。

100% 4KB 讀取,以及大部分 508KB 和 512KB 寫入圖表

吞吐量

查看時間序列資料,我們看到讀取的最大值達到 518MB /s,平均值為 357MB /s,這表示讀取是穩定的。平均吞吐量為每秒 91,000 次輸入/輸出作業 (IOP),NVMe 硬碟很容易吸收。

6500 ION 4KB 讀取:最大 133k IOP,平均 91k IOP 圖表

寫入非常有趣,因為我們看到高達 5.6GB/s 的飆升,接近 6500 ION 的最大循序效能。Cassandra 的寫入工作負載非常龐大。主要原因是可控沖洗指令將記憶體中的更新卸載到磁碟,並盡可能快速寫入。結果是連拍寫入之間的巨大差異為 2GB/s 至 5.6GB/s,平均吞吐量為 136MB/s。

6500 ION 寫入:最高 5.6 gb/s,平均 136 mb/s 圖表

延遲

在查看延遲時,我們看到讀取延遲峰值約為 40 毫秒,而寫入延遲峰值約為 90 毫秒。寫入結果很合理,因為許多大型 IO (512KB) 寫入會定期發生。讀取結果都是 4KB ,因此有些封鎖正在發生,導致讀取延遲飆升。

從 SSD 的角度來看,這些延遲可能令人擔憂,因此我們分析了韌體中的 OCP 延遲監控記錄,以確定這些延遲屬於系統層級。在可控沖洗指令期間,佇列正在快速填滿,系統正在堆積。不過,在此工作負載期間,SSD 不會回報延遲異常值 (>5ms)。

6500 ION 讀取:100% 4kb IO,最大延遲 - 50ms
6500 ION 寫入:高達 512KB IO,最大延遲 90ms 圖表

佇列深度

最後,系統看到的佇列深度具有有趣的節奏,從 20 躍升至 200,有些大幅飆升至 QD 800。

6500 ION QD:可控沖洗操作將系統 QD 推升至 800

這種行為與我們從大量大區塊寫入中看到的延遲影響相一致。可控沖洗命令會將大量資料寫入磁碟,導致佇列深度增加。如此高的佇列深度可能會延遲部分 4KB 讀取 IO,導致系統級延遲飆升。一旦可控沖洗操作完成,Cassandra 發出丟棄命令以清除刪除的資料。

那麼,我們學到了什麼?

平均應用程式吞吐量、延遲和磁碟 IO 提供良好檢視,比較 SSD 的效能與另一個 SSD 的效能,或測量重大硬體或軟體變更的效能影響。

某些應用程式,如 Cassandra,在分析平均磁碟 IO 時,看起來對儲存效能不敏感,在 iostat 等工具中看到的平均吞吐量較低。這遺漏了 SSD 能夠以最快速的速度寫入高佇列深度的大區塊資料對於 Cassandra 的效能至關重要。為了真正瞭解磁碟層級的工作負載,我們必須超越平均值。

© 2023 Micron Technology, Inc. 保留所有權利。所有提供之資訊皆以「現況」為基準,不提供任何形式的保固。產品僅保證符合美光的生產資料表規格。產品、計畫和規格若有變動,恕不另行通知。Micron Technology, Inc. 對於排版或影像的遺漏或錯誤概不負責。美光、美光標誌及其他所有美光商標皆為 Micron Technology, Inc. 資產。其他所有商標皆屬其各自擁有者所有。修訂版 A 01/2023 CCM004-676576390-11635

Director, Storage Solutions Architecture

Ryan Meredith

Ryan Meredith is director of Data Center Workload Engineering for Micron's Storage Business Unit, testing new technologies to help build Micron's thought leadership and awareness in fields like AI and NVMe-oF/TCP, along with all-flash software-defined storage technologies.