十八、JMeter实战-JDBC连接MySQL数据库

前言

连接数据库进行测试在工作中会比较常用,首先可以读取数据库的数据进行参数化、关联等,批量添加测试数据以及清理数据,还可以直接对SQL语句进行压测。



一、基本介绍

1. 首先第一步要导入mysql驱动包,放到jmeter/lib目录下,

下载地址:https://dev.mysql.com/downloads/connector/j/

然后重启jmeter。

2. 在测试计划 点击“浏览”,然后选择刚才的mysql驱动包



3. 在配置文件中添加JDBC Connection Configuration



4. 线程组 - HTTP取样器 - JDBC Request

JDBC 请求采样器允许你将JDBC请求(SQL语句)发送到数据库。在使用之前,你需要设置JDBC Connection Configuration



5. JDBC Connection Configuration

JDBC连接配置 设置创建数据库连接(供JDBC Request Sampler使用)


(1)Variable Name for created pool:数据库连接池的变量名,需要唯一标识。与JDBC取样器中的相对应,决定JDBC取样器的配置。
原理:JDBC Request可以选择不同的连接池名来选择不同的数据库连接。Variable Name变量名称与JDBC Request中的Variable Name要保持一致,JDBC Connection Configuration中先配置好连接数据库,然后赋予该连接一个变量名 。JDBC Request需要连接哪个数据库,就填写该数据库的变量名即可。

(2)Max Number of Connections:数据库连接池最大连接数,一般设置为0,意思是每个线程都单独使用一个数据库连接。
(3)Max Wait (ms):在连接池中取回连接最大的等待时间,在查询过程中,超过设置的值,连接池会抛出异常。
(4)Time Between Eviction Runs (ms):疏散时间,数据库空闲清理的间隔时间。
(5)Auto Commit:自动提交。
(6)Transaction isolation:事务间隔级别设置。

6. JDBC Request

该采样器使您可以将JDBC请求(SQL查询)发送到数据库。
使用此功能之前,您需要设置 JDBC连接配置配置元素。

(1)Variable Name of Pool declared in JDBC Connection Configuration:连接池绑定到的JMeter变量的名称。这必须与JDBC连接配置的“变量名”字段一致。
(2)Query Type:
1.Select Statement:需要填写的sql是完整可执行的sql语句。
2.Update Statement:对于insert、update、delete语句,需要设置此选项,数据修改语句中可以使用参数,而且可以顺序执行多个修改语句。
3.Callable Statement:多个语句查询。
(3)Parameter valus:参数值
(4)Parameter types:参数类型
(5)Variable names:保存sql语句返回结果的变量名
(6)Result variable name:创建一个对象变量,保存所有返回的结果
(7)Query timeout:查询超时时间
(8)Handle result set:定义如何处理由callable statements语句返回的结果



二、实操

1. 填写好数据库连接池的变量名,名称自己定义



2. 设置连接



Database URL: jdbc:mysql:// 数据库地址 /数据库名
JDBC Driver class:com.mysql.jdbc.Driver
Username:账号
Password:密码

3. 加一个调试取样器,然后,看结果

三、不同数据库的连接配置

不同的数据库连接配置不一样,常用的数据 mysql、sqlserver、oracel

Database Driver class Database URL
MySQL com.mysql.jdbc.Driver jdbc:mysql://host:port/
Oracle oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:user/pass@//host:port/service
MSSQL com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://IP:1433;databaseName=DBname


Database	Driver class	                                 Database URL
MySQL	        com.mysql.jdbc.Driver	                         jdbc:mysql://host:port/{dbname}
PostgreSQL	org.postgresql.Driver	                         jdbc:postgresql:{dbname}
Oracle	        oracle.jdbc.driver.OracleDriver	                 jdbc:oracle:thin:user/pass@//host:port/service
MSSQL	        com.microsoft.sqlserver.jdbc.SQLServerDriver 	 jdbc:sqlserver://IP:1433;databaseName=DBname  
posted @ 2020-12-30 10:36  西瓜_皮  阅读(1102)  评论(0编辑  收藏  举报