首页 > 其他分享 >一个基于jmeter的kafka的压测工具

一个基于jmeter的kafka的压测工具

时间:2022-11-20 18:14:23浏览次数:73  
标签:github 压测 kafka https kafkameter jmeter

背景:

由于工作中经常需要对微服务的性能进行测试,项目中的业务场景也多是对数据的处理,因此就有对消息中间件进行高性能生产消息的诉求,当前数据来源多是通过kafka,因此想研究下当前比较流行的压测工具是否满足需求,而kafka自带的kafka-producer-perf-test.sh工具又无法自定义发送的消息体,因此难以满足指定消息触发的业务场景。

调研:

jmeter拥有丰富的插件资源,网上还搜到不少jemter+kafkameter插件的帖子,例如 

https://blog.csdn.net/masound/article/details/85101101   (文中指出的kafkameter源码地址 https://github.com/BrightTag/kafkameter 已不存在)

https://blog.csdn.net/jwcxs_m/article/details/103530869

https://blog.csdn.net/hui_yong/article/details/123498954

但不是源码地址已不存在就是需要通过一些云空间进行付费付点数下载,且年代已相对久远

 

 

经过进一步的调研,发现github上贡献了较为成熟的开源插件,经过比较,选择了一个较为活跃,星数相对较多的进行尝试:https://github.com/rollno748/di-kafkameter

 

 动手:

1、下载源码(由于是java实现,因此也方便打包),生成di-kafkameter-1.0.jar包

 

 2、将jar包放入jmeter目录 lib\ext文件夹下,并启动jmeter.bat

 

  3、新建一个TestPlan,取个名字KafkaTestPlan,右击KafkaTestPlan->Add->Threads(Users)->Thread Group

 

 4、右击刚新建的ThreadGroup,Add->Sampler,此时会新增一个KafkaProducerSampler

 

 5、点击KafkaProducerSampler,可以设置topic名,消息体等

 

  6、此时需要增加kafka配置参数,点击KafkaTestPlan->Add->Config Element 此时会新增一个kafkaProducerConfig

 

 7、点击kafkaProducerConfig,可以设置kafka的相关属性配置,具体支持哪些参数可以参考https://github.com/rollno748/di-kafkameter 中

Producer Config Properties which can be added as part of producer creation. 一栏

 

 8、此时就可以设置压测参数了,比如这里设置了10线程,一共跑1000000次,具体的压测频率也可以根据需求设置,由于和jmeter用法一致,这里就不多赘述。

 

 9、尝试跑测,可以事先运行一个kafka的consumer,并点击jmeter运行,可以看到kafka consumer消费到了消息

 

 

 

标签:github,压测,kafka,https,kafkameter,jmeter
From: https://www.cnblogs.com/cosmocosmo/p/16909107.html

相关文章

  • Pulsar & Kafka
     PulsarSummitAsia2022Kafka与Pulsar对比详解                            *[ApacheKafka分......
  • springboot整合kafka
    1.引入kakka依赖<dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId></dependency>2.修改配置文件#应用名称......
  • Kafka硬件配置选择
    场景:100万日活(中型公司),每人每天100条日志,每天总共的日志条数是100万*100条=1亿条。其日志处理速度为:1亿条/24小时/60分/60秒≈1157条/每秒钟。 假设每条日志大小......
  • 【操作系统】Linux下安装mysql、jmeter
    mysql安装安装调试启动官网:https://dev.mysql.com/downloads/repo/yum/下载好需要的rpm源,使用Xftp将rpm传入虚拟机的/root目录下Xshell操作linux,或者直接虚拟机终端......
  • Kafka的使用
    一、启动Zookeeper服务在Windows系统中打开第1个cmd窗口,启动Zookeeper服务:>cdc:\kafka_2.12-2.4.0>.\bin\windows\zookeeper-server-start.bat.\config\zookeeper.......
  • 【Jmeter】21天打卡 05之使用Jmeter完成对www.baidu.com的两条接口测试
    具体要求:使用Jmeter完成对www.baidu.com两条接口测试实现步骤:1.新建测试计划--添加线程(线程组)-添加取样器(http请求1/http请求2)-添加断言(响应断言)-添加监听器(查看结果树)2......
  • kafka集群压力测试
    1)Kafka压测用Kafka官方自带的脚本,对Kafka进行压测。Kafka压测时,可以查看到哪个地方出现了瓶颈(CPU,内存,网络IO)。一般都是网络IO达到瓶颈。kafka-consumer-perf-test.shkaf......
  • ghz做grpc服务压测
    搭建的grpc服务是线下的服务,但是要求qps比较高,那么自己先进行一下压测吧准备ghz:https://github.com/bojand/ghz/releases直接下载对应的包,解压即可使用proto:安装proto,并且准......
  • wrk压测TF-serving
    serving服务#启动镜像dockerrun-t--rm-p8501:8501\-v"${PATH}/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu:/models......
  • jmeter,批量注册账号并写到本地
    日常jmeter使用比较繁琐,日常记录,方便自己查阅;1.请求一个添加用户接口,并随机字符串入参,批量注册账号大致json报文如下:{"username":"${abc}","password":"${pas}","co......