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切换到有线网络,消费能力提升了一倍,确定了是我本地计算机网络带宽限制造成的。

相关推荐
菠萝018 小时前
分布式CAP理论
数据库·c++·分布式·后端
Debug Your Career9 小时前
在Spring Boot中实现Kafka动态反序列化:针对多主题的灵活数据处理
spring boot·kafka
stormsha14 小时前
深入解析Kafka JVM堆内存:优化策略与监控实践
jvm·缓存·kafka·linq
Timmer丿14 小时前
kafka学习笔记(三、消费者Consumer使用教程——使用实例及及核心流程源码讲解)
java·笔记·学习·kafka
小Mie不吃饭16 小时前
远程调用 | OpenFeign+LoadBalanced的使用
分布式·远程调用
枫叶落雨22217 小时前
RabbitMQ项目实战
分布式·rabbitmq
weixin_3077791317 小时前
RabbitMQ备份与恢复技术详解:策略、工具与最佳实践
运维·分布式·rabbitmq
忆雾屿21 小时前
云原生时代 Kafka 深度实践:02快速上手与环境搭建
分布式·云原生·kafka
颯沓如流星21 小时前
Apache Kafka 实现原理深度解析:生产、存储与消费全流程
分布式·kafka·apache