美光專(zhuān)欄 | 利用閃存存儲提升 Apache Kafka 的性能
我是美光科技的首席存儲解決方案工程師Dennis Lattka。這個(gè)頭銜的真正含義是,我要致力于確定如何利用閃存存儲改善工作負載應用的性能和結果。為此,我決定對大數據生態(tài)系統中最常用的分布式消息傳遞系統之一的Apache Kafka進(jìn)行評估,測試如何以最佳方式將美光固態(tài)存儲應用于 Apache Kafka,以及將產(chǎn)生怎樣的收益。
本文引用地址:http://dyxdggzs.com/article/201712/373190.htm
Apache Kafka介紹
如果您不熟悉Apache Kafka,可以瀏覽http://kafka.apache.org/網(wǎng)站,了解一些快速入門(mén)知識。
通過(guò)對所涉及的各種資源(即 CPU、內存、磁盤(pán)活動(dòng)和網(wǎng)絡(luò ))進(jìn)行監控,我發(fā)現主要的瓶頸因素依次為磁盤(pán)和網(wǎng)絡(luò )。
一切取決于吞吐量
通過(guò) Apache Kafka我發(fā)現,吞吐量決定一切。Kafka 開(kāi)發(fā)人員在將寫(xiě)入數據直接傳遞到內核頁(yè)面緩存方面做得非常出色,最大限度地減少了與 I/O 相關(guān)的問(wèn)題。但是,無(wú)論這項開(kāi)發(fā)功能如何出色,I/O 最終仍會(huì )轉化為對 Kafka 分區(主題日志文件)的連續寫(xiě)入。因此所使用的磁盤(pán)的吞吐量越高,性能提升幅度就會(huì )越大。
在弄清楚了如何以最佳方式測試 Apache Kafka 以及使用哪些參數效果最好之后,我使用其內置的發(fā)生器測試腳本進(jìn)行了一次簡(jiǎn)單的測試。3 個(gè)發(fā)生器共向一個(gè) Kafka 代理發(fā)送了 6 億條 100 字節的消息。
測試包括以下內容:(沒(méi)有進(jìn)行調整,僅采用默認配置。)
- 總共產(chǎn)生了 600 個(gè)主題。
- 為每個(gè)發(fā)生器分配了 200 個(gè)特定于該發(fā)生器的主題。
- 每個(gè)發(fā)生器為每個(gè)主題創(chuàng )建了 100 萬(wàn)條消息。
- 采用的消息大小為每條消息 100 字節。
使用的硬件:
- 每個(gè)服務(wù)器配備 1 個(gè)代理和 3 個(gè)發(fā)生器,采用相同配置。
- 兩個(gè)英特爾(R)至強(R) CPU E5-2690 v3 @ 2.60GHz 處理器。
- 384GB 內存
- 兩個(gè)固定在 ALB 模式的 10Gb 網(wǎng)卡。
使用 6TB 7.2k 硬盤(pán)、美光5100 ECO 1920GB 固態(tài)硬盤(pán)和美光9100 Pro 3.2TB NVMe硬盤(pán)進(jìn)行了對比。
在每次測試中,Apache Kafka 代理分區都位于進(jìn)行測試的硬盤(pán)上。
結果如下:
從上表可以看出,吞吐量越高,每秒的 I/O 就越高,這對于 Apache Kafka 意味著(zhù)每秒可以處理更多數量的連續消息(顯示單位為 MB/s)。
結論
在 Apache Kafka 配置中采用吞吐量更高的磁盤(pán)設備(如美光5100 系列固態(tài)硬盤(pán)或美光 NVMe 固態(tài)硬盤(pán))將顯著(zhù)提高 Apache Kafka 的性能。
了解更多美光科技固態(tài)硬盤(pán)產(chǎn)品為企業(yè)IT帶來(lái)的超強動(dòng)力,請點(diǎn)擊閱讀原文,登錄美光科技官網(wǎng)查看。
評論