kafka消费能力压测:使用官方工具

背景

在之前的业务场景中,我们发现Kafka的实际消费能力远低于预期。尽管我们使用了kafka-go组件并进行了相关测试,测试情况见《kafka-go:性能测试》这篇文章。但并未能准确找出消费能力低下的原因。

我们曾怀疑这可能是由我的电脑网络带宽问题或Kafka部署时的某些未知配置所导致。

为了进一步确定问题的根源,我们决定对Kafka的消费能力进行压力测试。

在这篇《kafka的Docker镜像使用说明:wurstmeister/kafka》文章中我们介绍了基于Docker安装并运行kafka的步骤。

这篇文章中我们重点看一下压测的情况。

压测

kafka消费者压测。

测试命令

bash 复制代码
kafka-consumer-perf-test.sh --broker-list 172.26.224.165:30001 --topic dreame_mall_log_uat_business --fetch-size 10000 -messages 100000 --threads 1

参数解释

  • broker-list:部署的kafka节点地址。我这里测试的是部署在服务器上的kafka消费性能。
  • topic:指定topic名称
  • fetch-size:指定每个fetch的数据大小,单位字节。
  • messages:总共要消费的消息个数

使用方法

进入容器中,进入命令行工具,到bin目录下,输入上述测试命令。

结果

start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, nMsg.sec

2025-02-18 03:52:57:888, 2025-02-18 03:59:35:970, 1732.0945, 4.3511, 100008, 251.2246

输出参数含义

start.time:开始时间

end.time:结束时间

data.consumed.in.MB:共消费数据,单位MB。如,我们上述的结果,1732.0945MB。

MB.sec:吞吐量,每秒多少MB。如,我们上述的结果,4.3511MB/s。

data.consumed.in.nMsg:共消费数据。如,我们上述的结果,100008条。

nMsg.sec:平均每秒消费多少条。如,我们上述的结果,251.2246条/s。

结论

通过压测工具的数据和我之前通过kakfa-go组件测试的情况看,kafka消费性能比预期差了很多的原因并不是由kafka-go这个组件导致的,应该是网络带宽限制造成的。

进一步测试,我本地从WIFI切换到有线网络,消费能力提升了一倍,确定了是我本地计算机网络带宽限制造成的。

相关推荐
橘子在努力36 分钟前
【橘子分布式】Thrift RPC(理论篇)
分布式·网络协议·rpc
lifallen3 小时前
Kafka 时间轮深度解析:如何O(1)处理定时任务
java·数据结构·分布式·后端·算法·kafka
沈健_算法小生5 小时前
基于SpringBoot3集成Kafka集群
分布式·kafka·linq
Swift社区6 小时前
ELK、Loki、Kafka 三种日志告警联动方案全解析(附实战 Demo)
分布式·elk·kafka
chanalbert14 小时前
Nacos 技术研究文档(基于 Nacos 3)
spring boot·分布式·spring cloud
线条116 小时前
Spark 单机模式安装与测试全攻略
大数据·分布式·spark
C182981825751 天前
分布式ID 与自增区别
分布式
码字的字节1 天前
深入解析Hadoop架构设计:原理、组件与应用
大数据·hadoop·分布式·hadoop架构设计
悟能不能悟1 天前
Dubbo跨越分布式事务的最终一致性陷阱
分布式·wpf·dubbo
黄雪超1 天前
Kafka——Kafka 线上集群部署方案怎么做?
大数据·分布式·kafka