美光專欄|利用快閃記憶體存儲提升 Apache Kafka 的性能
我是美光科技的首席存儲解決方案工程師Dennis Lattka。這個頭銜的真正含義是,我要致力於確定如何利用快閃記憶體存儲改善工作負載應用的性能和結果。為此,我決定對大資料生態系統中最常用的分散式消息傳遞系統之一的Apache Kafka進行評估,
Apache Kafka介紹
如果您不熟悉Apache Kafka,可以流覽http://kafka.apache.org/網站,瞭解一些快速入門知識。
通過對所涉及的各種資源(即 CPU、記憶體、磁片活動和網路)進行監控,
一切取決於輸送量
通過 Apache Kafka我發現,輸送量決定一切。Kafka 開發人員在將寫入資料直接傳遞到內核頁面緩存方面做得非常出色,最大限度地減少了與 I/O 相關的問題。但是,無論這項開發功能如何出色,I/O 最終仍會轉化為對 Kafka 分區(主題日誌檔)的連續寫入。因此所使用的磁片的輸送量越高,性能提升幅度就會越大。
在弄清楚了如何以最佳方式測試 Apache Kafka 以及使用哪些參數效果最好之後,
測試包括以下內容:(沒有進行調整,僅採用預設配置。)
- 總共產生了 600 個主題。
- 為每個發生器分配了 200 個特定於該發生器的主題。
- 每個發生器為每個主題創建了 100 萬條消息。
- 採用的消息大小為每條消息 100 位元組。
使用的硬體:
- 每個伺服器配備 1 個代理和 3 個發生器,採用相同配置。
- 兩個英特爾(R)至強(R) CPU E5-2690 v3 @ 2.60GHz 處理器。
- 384GB 記憶體
- 兩個固定在 ALB 模式的 10Gb 網卡。
使用 6TB 7.2k 硬碟、美光5100 ECO 1920GB 固態硬碟和美光9100 Pro 3.2TB NVMe硬碟進行了對比。
在每次測試中,Apache Kafka 代理分區都位於進行測試的硬碟上。
結果如下:
從上表可以看出,輸送量越高,
結論
在 Apache Kafka 配置中採用輸送量更高的磁片設備(如美光5100 系列固態硬碟或美光 NVMe 固態硬碟)將顯著提高 Apache Kafka 的性能。
瞭解更多美光科技固態硬碟產品為企業IT帶來的超強動力,請點擊閱讀原文,登錄美光科技官網查看。