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 非常感谢原作者的分享

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

Jmeter学习之八_测试kafka的更多相关文章

  1. JMeter学习-022-JMeter 分布式测试(性能测试大并发、远程启动解决方案)

    在使用 JMeter 进行性能测试时,难免遇到要求并发请求数比较的场景,此时单台测试机的配置(CPU.内存.带宽等)可能无法支持此性能测试场景.因而,此时 JMeter 提供的分布式测试功能就有了用武 ...

  2. javascript设计模式学习之八_发布订阅(观察者)模式

    一.发布订阅模式定义 jQuery中的callbacks,defered,promise本质上就是发布订阅模式的实现.ES6的promise内部实现未开源,不了解具体机制 发布订阅模式又叫做观察者模式 ...

  3. Jmeter+Ant+Jenkins接口自动化测试(二)_测试方案设计及jmeter脚本开发

    前言 根据之前部署好的测试环境,进行接口自动化测试的方案设计及Jmeter脚本开发.测试方案设计过程中采用了数据分离和对象分离等思路,因此直接通过特定的测试用例文档来驱动整个自动化接口测试的执行,相关 ...

  4. 【JMeter4.0学习(五)】JMeter对服务器监控测试脚本开发

    目录: 下载相关JMeter插件 服务器监控测试脚本开发 附:参考相关文档 本文主要来说一下如何通过JMeter插件来监控服务器CPU.内存.磁盘.网络等相关资源. 一.首先,需要下载相关JMeter ...

  5. JMeter学习-036-JMeter调试工具之三---Debug Sampler

    前面两篇文章分别讲述了 HTTP Mirror Server 和 Debug PostProcessor 的脚本调试实例.此文主要讲述第三种调试工具:DebugSampler,其主要是查看JMeter ...

  6. JMeter学习-035-JMeter调试工具之二---Debug PostProcessor

    前文 JMeter学习-034-JMeter调试工具之一---HTTP Mirror Server讲述了HTTP镜像服务器在调试请求入参时的实例应用.此文我们讲述另一种测试脚本调试工具的使用. 前置处 ...

  7. JMeter学习-033-JMeter BeanShell 脚本应用实例之参数变量修改

    BeanShell脚本是JMeter自动化测试过程中不可或缺的提升技能之一,BeanShell脚本编写类似于Java脚本.它可以获取.修改系统定义或用户定义的变量值,同时也可以进行一些相应的测试数据处 ...

  8. JMeter学习-007-JMeter 断言实例之一 - 响应断言

    之前的文章中已经对如何录制 web 的请求进行了详细的描述,敬请参阅:JMeter学习-004-WEB脚本入门实战 同时,我们的手机应用(例如:京东.天猫.唯品会.携程.易迅 等等 App)所发出的请 ...

  9. JMeter学习-010-JMeter 配置元件实例之 - CSV Data Set Config 参数化配置

    众所周知,在进行接口测试的过程中,需要创建不同的场景(不同条件的输入,来验证不同的入参的返回结果).因而,在日常的自动化接口监控或商品监控等线上监控过程中,需要配置大量的入参来监控接口的返回是否正确. ...

  10. JMeter学习-016-思路篇之-山重水复柳暗花明

    首先,此文非技术类博文,为思路类的博文,敬请参阅,欢迎共同探讨! 今天在编写 JMeter 接口监控脚本时,遇到了一个问题,在解决问题的时候,思路出现了偏差,导致了自己在解决问题时,绕了弯,浪费了些时 ...

随机推荐

  1. 云原生时代,政企混合云场景IT监控和诊断的难点和应对之道

    摘要:正是因为政企IT架构云化的云原生架构,相比之前的单体烟囱式架构,在监控诊断方面有着更多的难点和挑战,这也在业界催生出大量相关的标准和工具. 本文分享自华为云社区<[华为云Stack][大架 ...

  2. 火山引擎 DataTester:一次 A/B 测试,帮助产品分享率提升超 20%

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 对 C 端产品而言,增长的核心要素之一是用户活跃度.通过各类激发互动的方式,使信息得以在关系链中流转.传播,达成有效的信息 ...

  3. SQL SERVER 查询表结构,导出到Excel 生成代码用

    查询所有表 select * from information_schema.tables SQL SERVER 查询表结构,导出到Excel 生成代码用 --快速查看表结构字段(比较全面的) SEL ...

  4. 聊一聊:MyBatis和Spring Data JPA的选择问题

    从个人开发角度来说,Spring Data JPA更好用,是因为开发起来更快. 但从团队角度,我们希望更好的维护性,spring data jpa就差一些,或者说对后期人的要求更高. 很容易出现这种情 ...

  5. 【QT Tools】软件多语言国际化翻译的方法与步骤

    在Qt的项目开发过程中,有时软件要翻译成多语言版本,这就涉及到国际化方面的操作.虽然Qt对这方面集成了很多工具,操作起来比较方便,本文还是总结一下国际化的方法和步骤,用以备忘和参考. 我们通常在写程序 ...

  6. 趣事记录 | 有哪些让你目瞪口呆的 Bug ?

    在知乎上看到一个有趣的 Bug 事件,转载记录一下. 原回答地址:Here 发生于麻省理工的一个有意思的bug:只能发500英里的邮件. 原文在此:http://web.mit.edu/jemorri ...

  7. 题解 | CF1328F. Make k Equal (思维,前缀 & 后缀和)

    题目链接:Here 题意:把 \(n\) 个数变成 \(k\) 个相同的数,每次可以把 \(n\) 个数里最大的 \(-1\) 或最小的 \(+1\) ,问最小改变次数 思路: 我们可以枚举,把 \( ...

  8. Serverless 奇点已来,下一个十年将驶向何方?

    本文整理自 QCon 上海站 2022 丁宇(叔同)的演讲内容. 以前构建应用,需要买 ECS 实例,搭建开源软件体系然后维护它,流量大了扩容,流量小了缩容,整个过程非常复杂繁琐. 用了 Server ...

  9. kafka集群三、增加密码验证

    系列导航 一.kafka搭建-单机版 二.kafka搭建-集群搭建 三.kafka集群增加密码验证 四.kafka集群权限增加ACL 五.kafka集群__consumer_offsets副本数修改 ...

  10. <vue 路由 1、路由的基本使用>

    一.     项目创建 参考如下博客地址创建一个vue的项目 https://www.cnblogs.com/yclh/p/15356171.html   vue学习笔记 二.环境搭建+项目创建 二. ...