我是美光科技的首席存儲(chǔ)解決方案工程師Dennis Lattka。這個(gè)頭銜的真正含義是,我要致力于確定如何利用閃存存儲(chǔ)改善工作負(fù)載應(yīng)用的性能和結(jié)果。為此,我決定對(duì)大數(shù)據(jù)生態(tài)系統(tǒng)中最常用的分布式消息傳遞系統(tǒng)之一的Apache Kafka進(jìn)行評(píng)估,測試如何以最佳方式將美光固態(tài)存儲(chǔ)應(yīng)用于 Apache Kafka,以及將產(chǎn)生怎樣的收益。
ApacheKafka介紹
通過對(duì)所涉及的各種資源(即 CPU、內(nèi)存、磁盤活動(dòng)和網(wǎng)絡(luò))進(jìn)行監(jiān)控,我發(fā)現(xiàn)主要的瓶頸因素依次為磁盤和網(wǎng)絡(luò)。
一切取決于吞吐量
通過 Apache Kafka我發(fā)現(xiàn),吞吐量決定一切。Kafka 開發(fā)人員在將寫入數(shù)據(jù)直接傳遞到內(nèi)核頁面緩存方面做得非常出色,最大限度地減少了與 I/O 相關(guān)的問題。但是,無論這項(xiàng)開發(fā)功能如何出色,I/O 最終仍會(huì)轉(zhuǎn)化為對(duì) Kafka 分區(qū)(主題日志文件)的連續(xù)寫入。因此所使用的磁盤的吞吐量越高,性能提升幅度就會(huì)越大。
在弄清楚了如何以最佳方式測試 Apache Kafka 以及使用哪些參數(shù)效果最好之后,我使用其內(nèi)置的發(fā)生器測試腳本進(jìn)行了一次簡單的測試。3 個(gè)發(fā)生器共向一個(gè) Kafka 代理發(fā)送了 6 億條 100 字節(jié)的消息。
測試包括以下內(nèi)容:(沒有進(jìn)行調(diào)整,僅采用默認(rèn)配置。)
-總共產(chǎn)生了 600 個(gè)主題。
-為每個(gè)發(fā)生器分配了 200 個(gè)特定于該發(fā)生器的主題。
-每個(gè)發(fā)生器為每個(gè)主題創(chuàng)建了 100 萬條消息。
-采用的消息大小為每條消息 100 字節(jié)。
使用的硬件:
-每個(gè)服務(wù)器配備 1 個(gè)代理和 3 個(gè)發(fā)生器,采用相同配置。
-兩個(gè)英特爾(R)至強(qiáng)(R) CPU E5-2690 v3 @ 2.60GHz 處理器。
-384GB 內(nèi)存
-兩個(gè)固定在 ALB 模式的 10Gb 網(wǎng)卡。
使用 6TB 7.2k 硬盤、美光5100 ECO 1920GB 固態(tài)硬盤和美光9100 Pro 3.2TB NVMe硬盤進(jìn)行了對(duì)比。
在每次測試中,Apache Kafka 代理分區(qū)都位于進(jìn)行測試的硬盤上。
結(jié)果如下:
從上表可以看出,吞吐量越高,每秒的 I/O 就越高,這對(duì)于 Apache Kafka 意味著每秒可以處理更多數(shù)量的連續(xù)消息(顯示單位為 MB/s)。
結(jié)論
在 Apache Kafka 配置中采用吞吐量更高的磁盤設(shè)備(如美光5100 系列固態(tài)硬盤或美光 NVMe 固態(tài)硬盤)將顯著提高 Apache Kafka 的性能。
-
閃存
+關(guān)注
關(guān)注
16文章
1782瀏覽量
114892 -
美光科技
+關(guān)注
關(guān)注
0文章
190瀏覽量
22640
原文標(biāo)題:美光專欄 | 利用閃存存儲(chǔ)提升 Apache Kafka 的性能
文章出處:【微信號(hào):gh_195c6bf0b140,微信公眾號(hào):Micron美光科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論