Jmeter学习之八_测试kafka

发布时间 2023-07-06 09:33:24作者: 济南小老虎

Jmeter学习之八_测试kafka


背景

最近在持续学习. 
昨天学习了grafana展示Jmeter测试数据库的结果
今天想着能够测试一下kafka验证一下kafka的吞吐量等信息
说干就干的. 

遇到的坑

本来计划使用pepper-box 或者是 kafkameter进行相关的测试工作
但是发现资料都比较陈旧,耗费了非常多的时间(晚上九点到晚上十二点)
都没有彻底搞定. 最后换用了: https://github.com/rollno748/di-kafkameter
这个插件仲可以可以进行数据验证了. 

kafka安装相关

我这边使用的是 kafka 3.5 并且没有使用zookeeper 使用的是kraft的方式进行安装.
为了安全采用了比较简单的 sasl_plaintext 方式进行验证. 

也许也是因为还是用了 sasl_plaintext的方式以及kraft的方式导致很多网上的资料都不可用. 
解决问题之后想着能够总结一下. 

Jmeter插件

安装一个jmeter的插件. 
DI KafkaMeter
理论上这一个插件就可以了. 

测试过程

1. 新建一个测试计划
2. 新增加测试线程组
3. 在线程组处新增一个 kafka Producer Config (列别: 配置元件)
4. 在线程组处新增一个 kafka producer Sampler (类别: 取样器)
5. 新增一个查看结果树的监听器,新增一个聚合报告,以及 jp@gc 的设置
6. 执行一下运行,就可以进行相关查看了. 

配置注意事项-线程组

注意测试线程组可以设置为时间模式的
因为kafka瞬间就可以将所有的消息发出去, 观测起来会比较费劲. 

线程数可以稍微多一些进行验证. 但是注意机器的配置, 不要宕机. 
循环次数设置为 永远, 调度器 设置为 持续时间 120秒进行观察不错

配置注意事项-Kafka Producer Config

注意 Kafka broker 设置为自己的地址
其他内容可以不动

最关键的地方时 security 
Type 选择为: SASL_PLAINTEXT
默认值都不需要动
但是需要再 Additional Configs 处新增两个配置节:
sasl.mechanism  value: PLAIN
sasl.jaas.config value: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="xxxx" ;
注意 jaas.config的配置节的值里面有一个分号, 不要忘记了. 

保存就可以了. 

配置注意事项-Kafka Producer Sampler

这个比较简单,
只需要注意将kafka topic 设置为 kafka中存在的就可以了. 
然后可以在messages 里面设置上:
{"Message": "It's a Hello from DI Kafka Sampler!"}

其实这个值是可以自己设置的. 
zhaobsh test kafka study server
可以在kafka内部使用如下命令:
bin/kafka-console-consumer.sh --bootstrap-server 192.168.174.131:9093  --consumer.config config/sasl.conf --topic zhaobsh01
进行监控, 会发现:
zhaobsh test kafka study server
zhaobsh test kafka study server
zhaobsh test kafka study server
Processed a total of 5480780 messages

就可以将自己设置的值打印出来了. 

查看结果等

可以新增 结果树, 聚合报告, 以及 jp@gc - Transactions per Second
可以看到一些好玩的结果以及数据
比如下图

效果图

image


学习来源:

https://github.com/rollno748/di-kafkameter
https://github.com/rollno748/di-kafkameter/wiki#producer-elements

非常感谢原作者的分享

欢迎关注我的公众号一起学习进步

image