一、添加线程组>配置元件>JDBC Connection Configuration
Variable Name: 变量名称,需要变量名绑定到池。需要唯一标识。与JDBC取样器中的相对应,决定JDBC取样的配置。简单理解就是在JDBC request的时候确定去哪个绑定的配置。
Max Number of Connection: 数据库最大链接数
PoolTimeout: 数据库链接超时,单位ms
Idle Cleanup Interval (ms): 数据库空闲清理的间隔时间,单位ms
Auto Commit:自动提交。有三个选项,true、false、编辑(自己通过jmeter提供的函数设置)
Transaction Isolation: 事务间隔级别设置,主要有如下几个选项:(对JMX加解密)
【TRANSACTION_NODE 事务节点 、TRANSACTION_READ_UNCOMMITTED 事务未提交读、TRANSACTION_READ_COMMITTED 事务已提交读 、TRANSACTION_SERIALIZABLE 事务序列化 、DEFAULT 默认、TRANSACTION_REPEATABLE_READ 事务重复读、
编辑】
Keep-Alive: 是否保持连接Max Connection age (ms):最大连接时长,超过时长的会被拒绝
Validation Query:验证查询,检验连接是否有效(数据库重启后之前的连接都失效,需要验证查询)。。。。。。
Database URL:如jdbc:mysql://192.168.96.169:3306/JOY_DATA ,格式jdbc:mysql://+ip(域名)+端口+数据库名称
JDBCDriver Class: JDBC的类,如org.gjt.mm.mysql.Driver
Usemane:数据库用户名,如root;
Password:数据库密码
二、添加线程组>sampler>JDBC Request
Jmeter压测实战之JDBC request压测Mysql, select语句
简介:使用jmeter压测mysql,select,insert语句
1、Debug Sampler使用(结果树中查看)
Thread Group -> add -> sampler -> debug sampler
2、参数讲解:(sql结尾不要加";")
1、variable name of pool declared in JDBC connection configuration(和配置文件同名)
2、Query Type 查询类型:
xxx Statement需要填写的sql是一句完整可执行的sql,而Prepared xxx Statement允许用户在sql中使用?,然后在Parameter values和Parameter types中填写参数和类型,最终执行时替代sql中的?,形成一句完整的sql语句。
Select statement:
如果SQL语句中需要使用参数变量,那么Query Type 需要设置为Select Statement ,需要先添加Random Variable,然后在Parameter Values中输入变量名称,变量名称,{变量名称};
在Paramter types中输入变量的数据类型。中间用逗号分隔。
只能执行第一个SQL语句。
Update statement: 对于Insert、Update、Delete语句,需要设置Query Type为:Update Statament.数据修改语句中可以使用参数,而且可以顺序执行多个修改语句。
Callable statement:
##待验证:
多个查询语句(不使用参数的情况下)可以放在一起顺序执行,需要设置Query Type为Callable Statement,然后顺序输入select语句,不用加go或者分号。如果Query Type设置为:Select Statement的话,只执行第一个SQL语句。
Prepared select statement:
预编译查询
Prepared update statement:
预编辑更新
查看结果
Commit:
把JDBC connection configuration中的自动提交为false,执行更改,增加或删除操作后,查询数据并无更改,再添加一个JDBC Request,设置其Query Type为commit,再次查询,之前的操作生效。
Rollback:
把JDBC connection configuration中的自动提交为false,执行更改,增加或删除操作后,查询数据并无更改(相当于编辑没保存), 再添加一个JDBC Request,设置其Query Type为rollback(相当于编辑后撤销),再次查询,仍然没有更改。
如果把JDBC connection configuration中的自动提交为true,执行更改,增加或删除操作后,查询数据更改,但一旦事物被提交就无法rollback。
Autocommit(false)和Autocommit(true):
把JDBC connection configuration中的自动提交为true或false,是设置系统参数的默认值。添加一个JDBC Request,设置其Query Type Autocommit为true或false后(相当于修改系统参数),再进行对数据库的增加、删除、修改操作。
3、parameter values 参数值
4、parameter types 参数类型:如:bigint,varchar
5、variable names sql执行结果变量名
6、result variable names 所有结果当做一个对象存储
第5点和第6点是一起使用的,如图下
查看效果,需要加入sampler>Debug Sampler
7、query timeouts 查询超时时间
8、 handle results 处理结果集
三、压测时,需要引入mysql驱动包
线程组,点击【浏览】引入jar包
jar地址:链接:https://pan.baidu.com/s/1DotrFbya0Ba2mEfboAXx_A
提取码:w6ah
引入jar包,就可以压测了