博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用java代码和jmeter脚本批量造数
阅读量:2167 次
发布时间:2019-05-01

本文共 1233 字,大约阅读时间需要 4 分钟。

一、

使用java代码和jmeter脚本批量生成压测数据

 

书接上回

 

 

业务场景回顾

在执行压测脚本之前,我们通常要准备数据库存量数据,一般是以生产数据为依据成比例增加,少则需要上百万,多则需要上千万、上亿,经常有很多时间要花在造数据上。

如何快速准备数据呢?

 

上一篇文章中讲了用mysql存储过程的方式,今天继续讲解另外两种方式。

 

二、

使用java代码方式

 

方式一、使用java代码方式

主要分为三步:

第一步:获取数据库连接,代码如下:

只需要对照修改成自己的IP、端口、数据库名、用户名、密码,其它代码都不用变。

 

第二步:操作数据库并关闭连接,代码如下:

 

其中是一个简单的insert语句,通过拼接前缀和后缀构成完成的sql插入语句,有以下几点要注意:

1、conn.setAutoCommit(false);这里是关闭事务自动提交,不然每进行一次insert操作mysql就会创建一个事务,对效率影响很大。

2、使用的是insert into tb (...)  values(...) , (...)...; 这种一次insert插入多条语句的方式,而不是普通的insert into tb (...) values (...);  insert into tb (...) values (...); ...这种单条insert语句,可以大大提高效率。

 

第三步:在main方法中分别调用这两个方法即可

 

二、

方式二、使用jmeter脚本方式

 

Jmeter操作数据库主要分为两个步骤:

第一步:配置JDBC Connection Configuration

其中注意几点:

1、Variable Name:这个变量名称要与接下来添加的jdbc请求中的一致

2、Database URL:这个跟前面java代码中的url类似,后面是数据库IP、端口、名称

 

第二步:添加JDBC Request,写sql语句

其中注意几点:

1、Variable Name:这个变量名称必须与上面JDBC Connection Configuration中配置的一样

2、此处对于insert语句选择的query type是prepared update statement,比update statement效率高一点

3、sql语句中用到的变量id是通过计数器的方式获取的,实现每次递增;

   sysdate()函数获取系统当前时间;

    后面是生成一个随机字符串。

4、计数器在线程组右键--配置元件--计数器,设置如下:

此处实现从1开始,每次递增1,一直到10000000,变量名是id。

 

脚本写好了,运行没问题,设置好响应断言,就可以让它一直循环了。

 

end

--------

本文首发于本人原创公众号【媛测】(原名-玩转jmeter),专注分享性能、自动化测试等相关知识,寻找志同道合之士共同成长!扫码关注后分别回复jmeter、python、linux,领取个人总结资料。

你可能感兴趣的文章
【LEETCODE】241-Different Ways to Add Parentheses
查看>>
【LEETCODE】312-Burst Balloons
查看>>
【LEETCODE】232-Implement Queue using Stacks
查看>>
【LEETCODE】225-Implement Stack using Queues
查看>>
【LEETCODE】155-Min Stack
查看>>
【LEETCODE】20-Valid Parentheses
查看>>
【LEETCODE】290-Word Pattern
查看>>
【LEETCODE】36-Valid Sudoku
查看>>
【LEETCODE】205-Isomorphic Strings
查看>>
【LEETCODE】204-Count Primes
查看>>
【LEETCODE】228-Summary Ranges
查看>>
【LEETCODE】27-Remove Element
查看>>
【LEETCODE】66-Plus One
查看>>
【LEETCODE】26-Remove Duplicates from Sorted Array
查看>>
【LEETCODE】118-Pascal's Triangle
查看>>
【LEETCODE】119-Pascal's Triangle II
查看>>
【LEETCODE】88-Merge Sorted Array
查看>>
【LEETCODE】19-Remove Nth Node From End of List
查看>>
【LEETCODE】125-Valid Palindrome
查看>>
【LEETCODE】28-Implement strStr()
查看>>