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
可以看到一些好玩的结果以及数据
比如下图
效果图
学习来源:
https://github.com/rollno748/di-kafkameter
https://github.com/rollno748/di-kafkameter/wiki#producer-elements
非常感谢原作者的分享