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. MyBatis—Spring 动态数据源事务的处理

    在一般的 Spring 应用中,如果底层数据库访问采用的是 MyBatis,那么在大多数情况下,只使用一个单独的数据源,Spring 的事务管理在大多数情况下都是有效的.然而,在一些复杂的业务场景下, ...

  2. 面试官:单例Bean一定不安全吗?实际工作中如何处理此问题?

    默认情况下,Spring Boot 中的 Bean 是非线程安全的.这是因为,默认情况下 Bean 的作用域是单例模式,那么此时,所有的请求都会共享同一个 Bean 实例,这意味着这个 Bean 实例 ...

  3. DWS轻量化更新黑科技:宽表加工优化

    本文分享自华为云社区<GaussDB(DWS)性能调优:宽表加工优化方案>,作者:譡里个檔 . 1. 业务背景 宽表加工性能慢,在Gauss(DWS)中可以使用DWS的轻量化更新的黑科技实 ...

  4. 云图说丨OLAP开源引擎的一匹黑马,MRS集群组件之ClickHouse

    摘要:ClickHouse是俄罗斯公司 Yandex 在2016年开源的高性能.开源联机分析列式数据库管理系统.开源后,凭借卓越的分析性能.极好的线性扩展能力和丰富的功能,被业界公认为实时分析领域 O ...

  5. NDPQ(NDP+PQ),定义分布式数据库新方向

    摘要:云服务提供商构建新的云原生关系数据库系统,专门为云基础架构设计,通常采用将计算和存储分离到独立扩展的分布式层的设计. 本文分享自华为云社区<性能提升100倍!GaussDB(for MyS ...

  6. 华为云联合HarmonyOS重磅发布智联生活行业加速器

    摘要:华为云DevRun智联生活行业加速器,为产业链上下游企业提供技术支持.生态建设.商业变现等多方面的资源扶持,共同打造智联生活新未来. 据IDC的报告,2021年上半年中国智能家居设备市场出货量约 ...

  7. 鸿蒙轻内核源码分析:MMU协处理器

    摘要:本系列首先了解下ARM CP15协处理器的知识,接着介绍下协处理器相关的汇编指令,最后分析下MMU相关汇编代码. 本文分享自华为云社区<鸿蒙轻内核A核源码分析系列六 MMU协处理器> ...

  8. MyBatis batchInsert 批量插入数据

    mybatis 是一个 Java 的持久层框架,它支持定制化 SQL.存储过程以及高级映射.通过 MyBatis,开发者可以直接编写原生态 SQL,避免了 JDBC 代码的繁琐. 如何在 MyBati ...

  9. 使用 FHE 实现加密大语言模型

    近来,大语言模型 (LLM) 已被证明是提高编程.内容生成.文本分析.网络搜索及远程学习等诸多领域生产力的可靠工具. 大语言模型对用户隐私的影响 尽管 LLM 很有吸引力,但如何保护好 输入给这些模型 ...

  10. RTS超低延时直播技术:保障大型赛事直播零时差互动

    2022卡塔尔世界杯呼啸而来. 11月20日开幕,28天赛期.64场比赛,国际足联主席因凡蒂诺预计,卡塔尔世界杯将吸引全球50亿观众,可以说2022卡塔尔世界杯是这个冬天当之无愧的「超级流量场」. 世 ...