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

相关推荐
杨同学technotes30 分钟前
Spring Kafka进阶:实现多态消息消费
后端·kafka
ThisIsClark40 分钟前
什么是Spark
大数据·分布式·spark
小小工匠1 小时前
分布式缓存:应对突发流量的缓存体系构建
分布式·缓存·突发流量·缓存体系
计算机毕设定制辅导-无忧学长1 小时前
分布式系统中的 Kafka:流量削峰与异步解耦(二)
microsoft·kafka·linq
weixin_472339462 小时前
分布式ID生成利器:Snowflake UUID原理解析与实践
分布式
sky_ph2 小时前
Kafka分区分配策略
后端·kafka
TDengine (老段)2 小时前
Kafka 向 TDengine 写入数据
数据库·物联网·kafka·linq·时序数据库·tdengine·涛思数据
TracyCoder1232 小时前
消息队列技术选型完全指南:从原理到实践
kafka·消息队列·rocketmq·pulsar
乐世东方客14 小时前
Kafka使用Elasticsearch Service Sink Connector直接传输topic数据到Elasticsearch
分布式·elasticsearch·kafka
火龙谷16 小时前
【hadoop】搭建考试环境(单机)
大数据·hadoop·分布式