使⽤java代码和jmeter脚本批量造数
⼀、
使⽤java代码和jmeter脚本批量⽣成压测数据
书接上回
业务场景回顾:
在执⾏压测脚本之前,我们通常要准备数据库存量数据,⼀般是以⽣产数据为依据成⽐例增加,少则需要上百万,多则需要上千万、上亿,经常有很多时间要花在造数据上。
如何快速准备数据呢?
上⼀篇⽂章中讲了⽤mysql存储过程的⽅式,今天继续讲解另外两种⽅式。
⼆、
使⽤java代码⽅式
⽅式⼀、使⽤java代码⽅式
主要分为三步:
第⼀步:获取数据库连接,代码如下:
只需要对照修改成⾃⼰的IP、端⼝、数据库名、⽤户名、密码,其它代码都不⽤变。
第⼆步:操作数据库并关闭连接,代码如下:
其中是⼀个简单的insert语句,通过拼接前缀和后缀构成完成的sql插⼊语句,有以下⼏点要注意:
1、conn.setAutoCommit(false);这⾥是关闭事务⾃动提交,不然每进⾏⼀次insert操作mysql就会创建⼀个事务,对效率影响很⼤。
2、使⽤的是insert into tb (...) values(...) , (...)...; 这种⼀次insert插⼊多条语句的⽅式,⽽不是普通的in
sert 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
python转java代码--------
本⽂⾸发于本⼈原创【媛测】(原名-玩转jmeter),专注分享性能、⾃动化测试等相关知识,寻志同道合之⼠共同成长!扫码关注后分别回复jmeter、python、linux,领取个⼈总结资料。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论