项目背景

性能测试场景中有一个业务场景的数据抽取策略是直接使用kafka队列,该场景需要准备的测试数据是kafka队列里的数据,故需要实现插入数据到kafka队列,且需要实现控制每分钟插入多少条数据。

解决方案

通过研究了解到jmeter工具的kafka插件可以实现往kafka插入数据,且可以通过jmeter的固定吞吐量控制器实现每分钟插入多少条数据。

1、jmeter中下载kafka插件

jmeter界面,菜单Options>Plugins Manager,在Available页签中搜索kafka安装DI KafkaMeter和Kafka Support,由于本次已安装所以这里是显示在Installed Plugins页签里面。

2、添加配置元件KafkaProducerConfig

Kafka Brokers配置kafka的IP和端口,其他保持默认配置,无需改动。

3、添加取样器KafkaProducerSampler

配置KafkaProducerSampler,配置kafka topic和message

4、执行脚本,实现往kafka插入数据。

5、添加固定吞吐量控制器,实现每分钟插入的条数。

在kafka取样器请求下添加固定吞吐量控制器,操作步骤:Add>Timer>Constant Throughput Timer

Constant Throughput Timer控制器中Target throughput(in samples per minute)设置每分钟需要插入的条数,如此处的360则代表每分钟插入360条数据。

Calculate Throughput based on选择all active threads in current thread group

应用价值

jmeter的配置元件KafkaProducerConfig和KafkaProducerSampler可以实现往kafka队列写数据;jmeter的吞吐量控制器Constant Throughput Timer可实现每分钟插入多少数据。

jmeter取样器之KafkaProducerSampler(往kafka插入数据)的更多相关文章

  1. JMeter 利用Jmeter批量数据库插入数据

    利用Jmeter批量数据库插入数据   by:授客 QQ:1033553122 1.   启动Jmeter 2.   添加 DBC Connection Configuration 右键线程组-> ...

  2. jmeter应用之批量插入数据

    上一篇讲到如何在jmeter中配置并连接使用mysql数据库,这一节主要是讲数据库连接的简单应用——批量插入数据 总体步骤如下: 1)新建线程组和添加JDBC Connection Configura ...

  3. Kafka权威指南 读书笔记之(四)Kafka 消费者一一从 Kafka读取数据

    KafkaConsumer概念 消费者和消费者群组 Kafka 消费者从属于消费者群组.一个群组里的消费者订阅的是同一个主题,每个消费者接收主题一部分分区的消息. 往群组里增加消费者是横向伸缩消费能力 ...

  4. Kafka权威指南 读书笔记之(三)Kafka 生产者一一向 Kafka 写入数据

    不管是把 Kafka 作为消息队列.消息总线还是数据存储平台来使用 ,总是需要有一个可以往 Kafka 写入数据的生产者和一个从 Kafka 读取数据的消费者,或者一个兼具两种角色的应用程序. 开发者 ...

  5. python批量插入数据到es和读取es数据

    一.插入数据 1.首先准备类似如下数据 {"_type": "type1", "_id": 1, "_index": & ...

  6. mysql应用之通过存储过程方式批量插入数据

    我们平时的测试过程中有一个环节就是准备测试数据,包括准备基础数据,准备业务数据,使用的场景包括压力测试,后台批量数据传输,前端大数据查询导出,或者分页打印等功能,准备测试数据我们通俗点讲就是造数据,根 ...

  7. 数据库插入数据返回当前主键ID值方法

    当我们插入一条数据的时候,我们很多时候都想立刻获取当前插入的主键值返回以做它用.我们通常的做法有如下几种: 1. 先 select max(id) +1 ,然后将+1后的值作为主键插入数据库: 2. ...

  8. C#批量插入数据到Sqlserver中的四种方式

    我的新书ASP.NET MVC企业级实战预计明年2月份出版,感谢大家关注! 本篇,我将来讲解一下在Sqlserver中批量插入数据. 先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的 ...

  9. mysql 插入数据失败防止自增长主键增长的方法

    mysql设置了自增长主键ID,插入失败的那个自增长ID也加一的,比如失败5个,下一个成功的不是在原来最后成功数据加1,而是直接变成加6了,失败次数一次就自动增长1了,能不能让失败的不增长的? 或者说 ...

  10. jdbc java数据库连接 7)获取插入数据的自增长值

    我们创建一个sql表,里面的数据往往都会有自增长值. 那么,我们用jdbc插入数据的时候,要想同时获得这个增长值. 代码: /** * * 这是插入一条数据的同时,获取该数据的则增长列的值(该例子的自 ...

随机推荐

  1. sqlit 自增id为null

    CREATE TABLE proejct( id UNSIGNED INTEGER AUTO_INCREMENT, name VARCHAR(50) NOT NULL, type CHAR(10) N ...

  2. Vue-cli创建的项目结构分析,各初始化文件解释说明

    结构图: 一.项目结构说明  1..gitignore :git的忽略文件(哪些文件或文件夹不想接受git管理的,可在此文件配置) 2.babel.config.js:babel控制文件,ES6=&g ...

  3. [UTCTF2020]basic_crypto

    [UTCTF2020]basic_crypto 题目: 01010101 01101000 00101101 01101111 01101000 00101100 00100000 01101100 ...

  4. Python读取保存图像文件

    Python处理图像数据时通常需要对图像文件进行读取.保存等操作,因此将现有的方法归纳了一下. 1. PIL 依赖包:Pillow 安装:pip install Pillow 源码: 1 import ...

  5. libuv 网络库设计概览译

    设计概览 libuv 是一种支持跨平台的网络库,最初是为了NodeJS作为某个模块实现的,主要基于事件驱动的I/O 模型设计的. 这个库不仅仅对不同的I/O polling 机制提供简单的抽象. ha ...

  6. http协议与tcp协议的理解

    1.区别 tcp协议是对应于传输层,http协议是对应于应用层,从本质上来说,二者是没有可比性的.http协议是建立在tcp协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发送一次http请 ...

  7. Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 49; columnNumber: 17; 元素类型为 "configuration" 的内容必须匹配 "

    问题现象: Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: o ...

  8. git提交到代码到远程仓库,合并分支提示entirely different commit histories(备忘)

    最近提交代码到github,合并分支的时候提示"master and main are entirely different commit histories" master为本地 ...

  9. CodeGym自学笔记08——交互对象

    交互对象 用 Java 语言编写的每个程序都由类和对象组成. 1."Java 程序员就像设计工程师一样,只是他们不制作蓝图,而是编写类.船舶零件是根据蓝图制造的,而对象是基于类创建的.&qu ...

  10. ORACLE 遇到ORA-31693 ORA-31617 ORA-19505 ORA-27037

    今天发现生产的RAC环境expdp计划任务出现报错 之前一度认为是备份目录权限的问题 官方文档: MOS参考文档:DataPump Export (EXPDP) Fails With Errors O ...