根据提供的JDBC连接设置创建数据库连接(和JDBC Request Sampler一块使用)。 可以选择在线程之间合并连接。 否则,每个线程将获得自己的连接。 JDBC Sampler使用连接配置名称来选择适当的连接。 使用的池是DBCP,请参见BasicDataSource配置参数
参数介绍
属性 | 描述 | 必填 |
---|---|---|
Name | 控制器名称,可以根据实际情况进行设置 | 否 |
Comments | 注释,描述在业务中的作用 | 否 |
Variable Name for created pool | 数据库连接池的名称,可以有多个jdbc connection configuration,每个可以起个不同的名称,在jdbc request中可以通过这个名称选择合适的连接池进行使用。每个名称必须不同。 如果有两个使用相同名称的配置元素,则只会保存一个。 如果检测到重复名称,JMeter会记录一条消息。 | 是 |
Max Number of Connections | 数据池允许的最大连接数,通常该值设置为0,意思是每个线程都使用单独的数据库连接,即该连接在线程之间不共享。如果你确实想共享连接池,那么最大连接数应当和线程数一样,以便线程不用互相等待 | 是 |
Max Wait (ms) | 在连接池中取回连接的最大等待时间,如果超过该时间,将抛出一个错误。 | 是 |
Time Between Eviction Runs (ms) | 数据库空闲连接的回收时间间隔。回收时,会将将空闲连接物理性的关闭掉。若为非正数,则空闲连接回收器不停运行。默认时间是1min | 是 |
Auto Commit | 自动提交。有三个选项,true、false、编辑(自己通过jmeter变量值设置)。选择true后, 每条sql语句就是一个事务,执行结束后会自动提交;否则不会提交,需要自己手动提交。 | 是 |
Transaction isolation | 数据库事务隔离的级别设置 | 是 |
Preinit Pool | 连接池可以立即初始化。 如果设置为False(默认值),则第一个 JDBC 请求的响应时间会较长,因为包含了连接池建立的时间 | 否 |
Init SQL statements separated by new line | 数据库初始化,将在首次创建物理连接时将其用于初始化。当配置的连接创建连接时, 这些语句仅执行一次 | 否 |
Test While Idle | 是否在空闲时进行连接有效性验证。Validation Quary被用来验证连接的有效性。即当连接空闲时是否断开 | 否 |
Soft Min Evictable Idle Time(ms) | 数据库连接池中的连接至少闲置多久才能被回收。即连接在池中处于空闲状态的最短时间,默认值为5000(5秒) | 是 |
Validation Query | 一个简单的查询,用于确定数据库是否仍在响应。默认为jdbc驱动程序的 isValid() 方法,适用于许多数据库 | 否 |
Database URL | 数据库的连接字符串;如jdbc:mysql://192.168.192.129:3306/mividi表示本地数据库,3306端口,数据库名称为mividi | 是 |
Username | 数据库登录用户名 | 是 |
Password | 数据库登录密码 | 是 |
Connection Properties | 在建立连接时设置的连接属性(例如,Oracle的internal_logon=sysdba) | 否 |
重要参数介绍
Variable Name for created pool
- JDBC Connection Configuration 算是一个数据库连接池配置
- Variable Name :数据库连接池的名称
- 一个测试计划可以有多个 JDBC Connection,只要名称不重复就行
Connection pool Configuration
连接池参数配置,基本保持默认就行了,可根据需要进行修改
字段 | 含义 |
---|---|
Max Number of Connections | 最大连接数;做性能测试时,建议填 0;如果填了10,则最大连接10个线程 |
Max Wait(ms) | 在连接池中取回连接最大等待时间,单位毫秒 |
Time Between Eviction Runs(ms) | 线程可空闲时间,单位毫秒。如果当前连接池中某个连接在空闲了 time Between Eviction Runs Millis 时间后任然没有使用,则被物理性的关闭掉 |
Auto Commit | 自动提交sql语句,如:修改数据库时,自动 commit |
Transaction isolation | 事务隔离级别 |
Preinit Pool | 立即初始化连接池,如果为 False,则第一个 JDBC 请求的响应时间会较长,因为包含了连接池建立的时间 |
Connection Validation by Pool
验证连接池是否可响应
字段 | 含义 |
---|---|
Test While Idle | 当连接空闲时是否断开 |
Soft Min Evictable Idle Time(ms) | 连接在池中处于空闲状态的最短时间 |
Validation Query | 一个简单的查询,用于确定数据库是否仍在响应。默认为jdbc驱动程序的 isValid() 方法,适用于许多数据库 |
Database Connection Configuration
数据库连接配置
字段 | 含义 |
---|---|
Database URL | 数据库连接 URL |
JDBC Driver class | 数据库驱动 |
Username | 数据库登录用户名 |
Password | 数据库登录密码 |
Connection Properties | 建立连接时要设置的连接属性 |
常见数据库的连接 URL和驱动
数据库 | 驱动 URL | 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 |
sqlServer | com.microsoft.sqlserver.jdbc.SQLServerDriver or com.microsoft.jdbc.sqlserver.SQLServerDriver | jdbc:sqlserver://host:port;databaseName=databaseName |
SQLite | org.sqlite.JDBC |
引入 jar 包
使用不同的数据库,需要引入不同的 jar 包,一共有两种方式,不过前提是下载好了 jar 包
下载 mysql jar 包
进入:https://dev.mysql.com/downloads/connector/j/
下载解压出 jar 包
引入方式一
将下好的 jar 包直接放到 jmeter 的 lib\ 目录下,然后重新启动就行了
引入方式二
在测试计划底部添加 jar 包即可