Jmeter+MySQL链接+JDBC Connection配置元件+使用

参考大大的博客学习:怎么用JMeter操作MySQL数据库?看完秒懂!_jmeter mysql_程序员馨馨的博客-CSDN博客

注:里面所有没打码的都是假数据,麻烦大家自行修改正确的信息。

一、背景

需要取数据库中的值,作为参数进行增删改查操作,所以要Jmeter跟Mysql连接起来。

二、加载JDBC驱动

下载mysql-connector-java-5.1.47

Jmeter+MySQL链接+JDBC Connection配置元件+使用_第1张图片

存放到jmeter目录-> lib ->ext下

Jmeter+MySQL链接+JDBC Connection配置元件+使用_第2张图片

 三、重启jmeter

四、线程组中添加JDBC Connection Configuration

步骤:1、选中线程组,鼠标右键,添加--配置元件--JDBC Connection Configuration

Jmeter+MySQL链接+JDBC Connection配置元件+使用_第3张图片

 Jmeter+MySQL链接+JDBC Connection配置元件+使用_第4张图片

1、名称:默认为空,可自定义名称,也可为空

2、注释:默认为空,可自定义,也可为空

3、Variable Name for created pool:一个连接名称,例如命名为s_mysql1,需要唯一标识,后面的JDBC请求中需要用到,所以需要与JDBC取样器中的名称一致,简单理解就是jdbc request的时候需要确定去请求哪个数据库。

4、Max Number of Connections: 连接池中允许的最大数据库连接数,默认10,做性能测试时,建议填 0

5、Max Wait(ms) : 在连接池中取回连接最大等待时间,单位毫秒,默认10000,默认即可

6、Time Between Eviction Runs(ms):线程可空闲时间,单位毫秒,默认60000,默认即可

7、Auto Commit:自动提交sql语句,有三个选项:True、False、编辑(JMeter提供的函数设置),默认为true ,默认即可

8、Transaction Isolation:事务隔离级别,默认为DEFAULT,默认即可

9、Test While Idle: 当连接空闲时是否断开,默认为True,默认即可

10、Soft Min Evictable Idle Time(ms): 连接池中连接的最小空闲时间,以毫秒为单位。当连接池中的连接处于空闲状态且超过了 "Soft Min Evictable Idle Time" 的设定值时,连接池可能会选择回收这些空闲连接,默认为5000,默认即可

11、Validation Query: 验证sql语法,默认为select1,默认即可

12、Database URL:数据库连接 URL,可以带上字符集characterEncoding=utf-8,也可允许多条sql执行allowMultiQueries=true,还可指定时区serverTimezone=UTC,比如jdbc:mysql://10.0.41.104 :33066/u_backend?serverTimezone=UTC&characterEncoding=utf-8&allowMultiQueries=true

数据库URL+端口号+数据库名testdb

如:jdbc:mysql://10.0.41.104 :33066/testdb

13、JDBC Driver class:JDBC的类,默认为空,必填项,mysql就选择com.mysql.jdbc.Driver

14、Username:数据库的用户名

15、Password:数据库的密码
 

五、添加JDBC Request

1、步骤:线程组-》添加-》取样器0-》JDBC Request

 Jmeter+MySQL链接+JDBC Connection配置元件+使用_第5张图片Jmeter+MySQL链接+JDBC Connection配置元件+使用_第6张图片

 名称:自定义

Variable Name of Pool declared in JDBC Connection Configuration:要与JDBC Connection Configuration中的Variable Name for created pool值保持一致

Query Type:根据填写的sql选择,查询就选择Select Statement,更新就选择Update Statement

Variable names:对应sql查询结果的字段值, 字段值有多少个,则对应值就有多少个,例如sql查出来有一个字段值reg_count,那么下面就对应1个变量count

Handle ResultSet:默认为Store as String,选择默认值即可, 当选择此选项时,查询结果将以字符串的形式存储在变量中

六、查询到的sql值引用

引用:${参数_1} ,如:${testcount_1}

Jmeter+MySQL链接+JDBC Connection配置元件+使用_第7张图片

七、如果sql查询返回多个参数

如果SQL查询出来的值有多个,例如查询出来了5行记录,每行三个字段,pid_reg_count对应变量count,pid_fee对应变量fee,income对应变量income。

Jmeter+MySQL链接+JDBC Connection配置元件+使用_第8张图片

Jmeter+MySQL链接+JDBC Connection配置元件+使用_第9张图片

可以添加一个Debug Sample,查看每个值是怎么取的,${count_#}表示返回的行数,${count_1}表示返回的count字段的第一行的值,${count_2}表示返回的count字段的第二行的值,${fee_1}表示返回的fee字段的第一行的值,${income_1}表示返回的income字段的第一行的值。。。依次类推。

Jmeter+MySQL链接+JDBC Connection配置元件+使用_第10张图片

你可能感兴趣的:(JMeter,jmeter,mysql,数据库)