JMeter配置元件之JDBC Connection Configuration

一、背景

在性能测试、自动化测试时,经常在准备测试数据、清理测试数据或者断言时,都会去操作数据库(增删改查),在jmeter中也就是发起jdbc 请求,而操作数据库(增删改查)之前,需要需要连接数据库,也就是需要先配置好 JDBC Connection Configuration。

二、界面简介

1、添加配置元件

选择测试计划-右键添加配置元件-JDBC Connection Configuration

2、参数详解

2.1、Variable Name Bound to Pool

绑定数据库连接池的变量名

字段名称 含义
Variable Name for created pool 数据库连接池的名称,我们可以有多个jdbc connection configuration,每个可以起个不同的名称,在jdbc request取样器中可以通过这个名称选择合适的连接池进行使用。

注意:Variable Name for created pool其与JDBC Request取样器中的的Variable name保持一致。

2.2、Connection pool Configuration

连接池的参数配置,一般保持默认设置

字段名称 含义
Max Number of Connections 数据库连接池最大连接数,意思是每个线程都使用单独的数据库连接,线程之间数据库连接不共享;做性能测试时,建议填 默认值0。
Max Wait(ms) 在连接池中取回连接最大等待时间,单位毫秒
Time Between Eviction Runs(ms) 线程可空闲时间,单位毫秒 如果当前连接池中某个连接在空闲了 time Between Eviction Runs Millis 时间后任然没有使用,则被物理性的关闭掉
Auto Commit 自动提交sql语句,比如:修改数据库时,自动 commit
Transaction isolation 事务隔离级别;主要有如下几个选项:
TRANSACTION_NODE 事务节点 、
TRANSACTION_READ_UNCOMMITTED 事务未提交读、
TRANSACTION_READ_COMMITTED 事务已提交读 、
TRANSACTION_SERIALIZABLE 事务序列化 、
DEFAULT 默认、
TRANSACTION_REPEATABLE_READ 事务重复读
Preinit Pool 立即初始化连接池 如果为 False,则第一个 JDBC 请求的响应时间会较长,因为包含了连接池建立的时间

2.3、Connection Validation by Pool

功能是验证连接池是否能正常响应

字段名称 含义
Test While Idle 当空闲的时候测试连接是否断开
Soft Min Evictable Idle Time(ms) 连接在池中处于空闲状态的最短时间
Validation Query 一个简单的查询,用于确定数据库是否仍在响应 默认为jdbc驱动程序的 isValid() 方法,适用于许多数据库

2.4、Database Connection Configuration

数据库连接配置

字段名称 含义
Database URL 数据库url,jdbc:mysql://主机ip或者机器名称:mysql监听的端口号/数据库名称
如:jdbc:mysql://localhost:3306/test
JDBC Driver class 数据库驱动。比如:com.mysql.jdbc.Driver
Username 数据库登录用户名
Password 数据库登录密码
Connection Properties 建立连接时要设置的连接属性

jdbc:mysql://192.168.88.129:3306/jmeter_class?useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true 

注意:

  • 当选择mysql 5的版本时,jar包,可以选择大于等于数据库版本的任务jar包。
  • 当选择mysql 8的版本时,jar包,可以选择大于等于数据库版本的任务jar包,一般选择版本号相同的包。
  • mysql 5的版本和mysql 8的版本JDBC Driver class不相同。

2.5、不同数据库驱动

可以参考下面的表格

Datebase Driver class Database URL
MySQL5 com.mysql.jdbc.Driver jdbc:mysql://ip地址:端口号/数据库名
MySQL8 com.mysql.cj.jdbc.Driver jdbc:mysql://ip地址:端口号/数据库名
PostgreSQL org.postgresql.Driver jdbc:postgresql:
Oracle oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:user/pass@//host:port/service
Ingres (2006) ingres.jdbc.IngresDriver jdbc:ingres://host:port/db[;attr=value]
MSSQL com.microsoft.sqlserver.jdbc.SQLServerDriver或者net.sourceforge.jtds.jdbc.Driver jdbc:sqlserver://IP:1433;databaseName=DBname或者jdbc:jtds:sqlserver://localhost:1433/"+"library"

三、示例

1、配置数据库连接

2、插入数据

3、查询数据

四、参考

1、jmeter压测练习:https://github.com/princeqjzh/iJmeter

2、dbeaver下载:https://dbeaver.io/download/

3、mysql connector依赖包下载:https://downloads.mysql.com/archives/c-j/

4、mysql数据库的连接:https://www.cnblogs.com/xyztank/articles/16548646.html

5、docker安装mysql:https://www.cnblogs.com/xyztank/articles/16617024.html

6、mysql数据库的创建:https://www.cnblogs.com/xyztank/articles/16617024.html

posted @ 2022-11-10 16:59  xyztank  阅读(1686)  评论(0)    收藏  举报