麦斯科技 · 2021年10月08日

在AWS Graviton 2处理器上使用Apache Kafka可优化高达30%的性能

https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/apache-kafka-benchmarks-on-aws-graviton2?utm_source=twitter&utm_medium=social&utm_campaign=2021_infrastructure-developer_mk21_na_na_na_na&utm_content=blog

作者:Kailas Jawadekar 2021年9月15日

合著者:Kailas Jawadekar&Julio Suarez,Arm基础设施业务线

Kafka-on-AWS-Gravito.jpg

在当今互联的世界中,流式数据可以从应用程序、日志、web服务器、设备等多种来源生成。流数据基本上是连续生成的小规模事件,通常具有低延迟要求。对于企业而言,实时处理这些事件至关重要,因为这些数据的价值会随着时间的推移而显著降低。

因此,现在正在发生一个重大的转变,即从更注重批处理的传统系统转变为旨在实时处理、转换和处理流数据事件的事件驱动系统。

举个例子,让我们考虑一个电子商务网站,网站访问者点击各种页面,搜索东西,并在购物车中添加东西。这些都是事件,您需要对这些事件进行实时处理和分析,以了解用户在做什么以及各种产品的性能。基于这些见解,您可能会决定提供实时促销或建议,以吸引用户购买某些商品。

类似地,还有各种其他示例,例如信用卡公司跟踪您的卡交易以进行欺诈检测,监控系统检测特定位置的感兴趣事件,工业物联网传感器在边缘生成各种事件,您可能希望系统根据这些事件触发某些动作。

这样的用例非常适合ApacheKafka这样的平台。事实上,ApacheKafka已经成为事件流平台的事实标准。ApacheKafka是一个开源的事件流平台,支持在广泛的工业、金融和消费者应用程序中进行实时决策。如今,1000多家公司使用Apache Kafka,其中包括35%的财富500强公司,用于高性能数据管道、流式分析、数据集成和任务关键型应用程序。许多公司首选的部署模型是在云服务提供商(如AmazonWeb服务)上部署ApacheKafka。

在AWS上,您可以在EC2或Kubernetes上运行Kafka自管理。ApacheKafka的部署和管理可能会很复杂,因此如果您想减少复杂性和运营开销,还可以使用Amazon ManagedStreamingforKafka(MSK)。

ApacheKafka每天可以处理数万亿个事件,并且需要在内存密集型实例上运行,这些实例可以快速高效地处理非常大的数据集。AmazonEC2提供了几个内存优化实例,可以支持ApacheKafka工作负载,但运行时成本可能会有很大差异,具体取决于实例。

在本博客中,我们对运行在基于64位Arm Neoverse的AWS Graviton2处理器上的自我管理Apache Kafka进行了性能基准测试。基于64位Arm Neoverse N1内核的AWS Graviton 2处理器是使用现代7nm技术构建的定制CPU。这些CPU是从头开始构建的,专门针对云本地工作负载进行设计和优化。与当前一代基于X86的实例相比,高效的基于Arm Neoverse的体系结构有助于AWS Graviton2为各种工作负载提供高达40%的性价比。

下图显示了三(3)个节点的Kafka 集群和三(3)个节点的Zookeeper集群的设置,用于跟踪Kafka 集群中节点的状态并维护Kafka 主题和消息列表。

Screen Shot 2021-08-.png

我们的基准测试测量Kafka集群上写入和读取事件的吞吐量和延迟。我们使用的吞吐量指标是每秒记录数(RPS),延迟指标是以毫秒为单位的99%延迟。上图显示Kafka集群由m6g实例组成。但是,作为测试的一部分,我们还通过创建具有各种其他实例类型和大小的三个节点集群进行了测试。

作为测试的一部分,我们首先测量了不同实例中的生产者RPS数量。然后,为了探索性能/$,我们将RPS数除以各个实例的实例成本。结果如下图所示。

Screen Shot 20(1).png

性价比数据表明,xlarge实例对于运行Kafka来说是一个更好的值,在xlarge实例中,我们观察到基于AWS Gravion2的Amazon EC2 r6g.xlarge实例提供了最好的值。与基于x86的Amazon EC2 r5.xlarge相比,r6g.xlarge实例平均提供30%的性能/$优势,与Amazon EC2 r5a.xlarge实例相比,提供19%的性价比优势。

有关我们的测试环境设置、基准测试和结果的更详细信息,我们鼓励您下载以下白皮书。

https://armkeil.blob.core.win...

有关采用基于Arm处理器的客户案例,请访问AWS Graviton页面(https://aws.amazon.com/ec2/gr...)。有关在Arm Neoverse平台上运行的软件工作负载的任何查询,请随时联系sw-ecosystem@arm.com. 加入我们的Arm DevSummit 2021(https://devsummit.arm.com/en),了解有关Arm Neoverse平台的云工作负载和软件生态系统支持的更多信息。

推荐阅读
关注数
5758
内容数
525
定期发布Arm相关软件信息,微信公众号 ArmSWDevs,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息