一、

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

书接上回

如何使用mysql存储过程批量造压测数据?

业务场景回顾

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

如何快速准备数据呢?

上一篇文章中讲了用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,领取个人总结资料。

使用java代码和jmeter脚本批量造数相关推荐

  1. Jmeter向数据库批量造数

    1.Jmeter详细安装教程测试工具JMeter详细安装配置教程(保证一次安装成功)_jmeter安装_Bella_7的博客-CSDN博客 2.Jdbc插件下载Jmeter连接数据库插件 mysql- ...

  2. 使用Lim测试平台快速完成批量造数

    一.前言 在我们平时的测试过程中,经常遇到需要造大量数据的情况,比如:测试分页功能,性能压测.数据准备等. 这时我们可以通过写脚本或jmeter这类的工具来实现,但这些方式在团队协作的时候并不友好,当 ...

  3. pytest装饰器实现批量造数

    最近的需求需要造1w多的数据,如何用Python代码实现批量造数呢?强大的pytest装饰器可以再次冲出江湖 今天要介绍的就是pytest-repeat,实现重复执行脚本的目的 1.首先安装插件pyt ...

  4. hive运行mysql脚本_用java代码调用shell脚本执行sqoop将hive表中数据导出到mysql

    1:创建shell脚本 1 touch sqoop_options.sh2 chmod 777 sqoop_options.sh 编辑文件  特地将执行map的个数设置为变量  测试 可以java代码 ...

  5. Python批量造数并利用pymysql写入到数据库之multiprocessing多进程、threading多线程实现方式(学习笔记)

    1.导包 import random import string import pymysql import time import multiprocessing # multiprocessing ...

  6. java代码使用.pac脚本自动配置代理服务器策略

    PAC是什么? 一个PAC文件包含一个JavaScript形式的函数"FindProxyForURL(url, host)".这个函数返回一个包含一个或多个访问规则的字符串.用户代 ...

  7. Java代码判断是否是回文数

    首先要明白什么是回文数,回文数就是指一个数正着读与反着读数字是一样的,例如12321,正序是1,2,3,2,1,逆序也为1,2,3,2,1,类似于这样的数字就称为回文数. 核心算法: 使用循环语句,将 ...

  8. 使用Jmeter完成数据库造数

    1.添加驱动 如果使用jmeter连接数据库,需要在jmeter的lib下添加对应的数据库驱动 MySQL: mysql-connector-jar Oracle: ojdbc6-11.2.0.3.j ...

  9. 输入n行的杨辉三角java,杨辉三角 Java代码 可以根据输入 输出相应行数的杨辉三角...

    /** * @see 打印出杨辉三角形(这是用的多维数组的形式,也可以根据公式计算),输出样式已经进行了调整 */ class YangHuiSanJiao { public static void ...

  10. java代码在jsp中怎么写_在jsp中写java代码

    该服务器上的所有的访问者的所有 jsp 页面 D.该服务器上的所有的访问者的所有 jsp 页面和 Java 程序 6.在 JSP 中调用 JavaBean 时不会用到的标记是( )...... jav ...

最新文章

  1. Vue给Element UI的el-popconfirm绑定按钮事件
  2. MEF: MSDN 杂志上的文章(9) 控制部件创建策略 ???
  3. mysql decode encode 乱码问题
  4. Ajax异步请求-简单模版
  5. I2C 简介(备忘)
  6. UI自学宝典,完整UI学习线路图
  7. DBMS_SPACE包的使用
  8. DOM-1 DOM初探、JS对象、XML、幻灯片案例展示
  9. 2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem C. Equivalent Cards 计算几何
  10. c语言程序设计数据存储方案,c语言程序设计“第02章数据的存储及运算.ppt
  11. ARM平板电脑移植Linux,iperf ARM移植
  12. “我们的边缘计算技术点,可能超前了业界一点”
  13. Boost 库Program Options--第二篇
  14. 今天终于找到了一款windows下的Zcash钱包(ZEC钱包),推荐给大家
  15. Phase2 Day23 数据库连接池DbUtils
  16. mp4如何转换成wmv格式
  17. 在新旧交替的过程中,我们成长着—导师制,舞台和挑战
  18. 异常来自 HRESULT:0x80070057 (E_INVALIDARG)
  19. private、fileprivate、public、open
  20. 计算机指令集的相关概念

热门文章

  1. c语言写死循环程序,通过简单的例子看c程序死循环
  2. Tempo - 分布式Loki链路追踪利器
  3. 2018.1.23日记
  4. Assertion断言介绍1
  5. 电容笔能否替代Apple pencil?高性价比电容笔排行
  6. Beginning Lua with World of Warcraft Add-ons第三章翻译总结及一些工具
  7. 数字小人时钟windows电脑屏幕保护
  8. Android App应用市场功能的框架图
  9. mysql workbench免安装_mysql 压缩包免安装版 安转步骤
  10. 从CentOS官网下载系统镜像