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

相关推荐
踩坑小念8 小时前
秒杀场景下如何处理redis扣除状态不一致问题
数据库·redis·分布式·缓存·秒杀
yumgpkpm9 小时前
2026软件:白嫖,开源,外包,招标,晚进场(2025年下半年),数科,AI...中国的企业软件产业出路
大数据·人工智能·hadoop·算法·kafka·开源·cloudera
笃行客从不躺平11 小时前
Token 复习
java·分布式·spring cloud
u01040583613 小时前
分布式淘客系统的配置中心设计:Nacos在多环境配置管理的应用
分布式
迎仔14 小时前
01-Hadoop 核心三剑客通俗指南:从“单机搬砖”到“包工队”
大数据·hadoop·分布式
ALex_zry14 小时前
分布式缓存与微服务架构的集成
分布式·缓存·架构
ALex_zry15 小时前
分布式缓存安全最佳实践
分布式·安全·缓存
陌上丨18 小时前
分布式锁的特性是什么?如何实现分布式锁?
分布式
yangSnowy18 小时前
MySQL 分布式锁实现方案
数据库·分布式·mysql
ALex_zry19 小时前
分布式缓存性能优化策略
分布式·缓存·性能优化