我是美光科技的首席存儲解決方案工程師Dennis Lattka。這個頭銜的真正含義是,我要致力于確定如何利用閃存存儲改善工作負載應用的性能和結果。為此,我決定對大數據生態系統中最常用的分布式消息傳遞系統之一的Apache Kafka進行評估,測試如何以最佳方式將美光固態存儲應用于 Apache Kafka,以及將產生怎樣的收益。
ApacheKafka介紹
通過對所涉及的各種資源(即 CPU、內存、磁盤活動和網絡)進行監控,我發現主要的瓶頸因素依次為磁盤和網絡。
一切取決于吞吐量
通過 Apache Kafka我發現,吞吐量決定一切。Kafka 開發人員在將寫入數據直接傳遞到內核頁面緩存方面做得非常出色,最大限度地減少了與 I/O 相關的問題。但是,無論這項開發功能如何出色,I/O 最終仍會轉化為對 Kafka 分區(主題日志文件)的連續寫入。因此所使用的磁盤的吞吐量越高,性能提升幅度就會越大。
在弄清楚了如何以最佳方式測試 Apache Kafka 以及使用哪些參數效果最好之后,我使用其內置的發生器測試腳本進行了一次簡單的測試。3 個發生器共向一個 Kafka 代理發送了 6 億條 100 字節的消息。
測試包括以下內容:(沒有進行調整,僅采用默認配置。)
-總共產生了 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 代理分區都位于進行測試的硬盤上。
結果如下:
從上表可以看出,吞吐量越高,每秒的 I/O 就越高,這對于 Apache Kafka 意味著每秒可以處理更多數量的連續消息(顯示單位為 MB/s)。
結論
在 Apache Kafka 配置中采用吞吐量更高的磁盤設備(如美光5100 系列固態硬盤或美光 NVMe 固態硬盤)將顯著提高 Apache Kafka 的性能。
-
閃存
+關注
關注
16文章
1777瀏覽量
114811 -
美光科技
+關注
關注
0文章
185瀏覽量
22629
原文標題:美光專欄 | 利用閃存存儲提升 Apache Kafka 的性能
文章出處:【微信號:gh_195c6bf0b140,微信公眾號:Micron美光科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論