新闻中心

EEPW首页 > 网络与存储 > 设计应用 > 美光专栏 | 利用闪存存储提升 Apache Kafka 的性能

美光专栏 | 利用闪存存储提升 Apache Kafka 的性能

作者:时间:2017-12-18来源:电子产品世界收藏

  我是科技的首席存储解决方案工程师Dennis Lattka。这个头衔的真正含义是,我要致力于确定如何利用闪存存储改善工作负载应用的性能和结果。为此,我决定对大数据生态系统中最常用的分布式消息传递系统之一的Apache Kafka进行评估,测试如何以最佳方式将固态存储应用于 Apache Kafka,以及将产生怎样的收益。

本文引用地址:http://www.eepw.com.cn/article/201712/373190.htm

    

  Apache Kafka介绍

  如果您不熟悉Apache Kafka,可以浏览http://kafka.apache.org/网站,了解一些快速入门知识。

  通过对所涉及的各种资源(即 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 的性能。

  了解更多美光科技固态硬盘产品为企业IT带来的超强动力,请点击阅读原文,登录美光科技官网查看。



关键词: 美光 Apache

评论


相关推荐

技术专区

关闭