Jmeter学习:JDBC链接池配置

功能:通过该元件,我们可以给数据源配置不同的连接池,供后续 JDBC 采样器使用。
使用场景:该元件配置通常与 JDBC 采样器一同使用。
Jmeter 默认采用 DBCP 连接池。
1. 下载驱动
使用前请将对应的数据库驱动复制到$JMETER_HOME/lib/或者$JMETER_HOME/lib/ext/下。
Mysql数据库驱动下载:https://downloads.mysql.com/archives/c-j/

下载时注意,版本向下兼容,如果是windows版本的jmeter则下载zip包,Linux系统的则选择tar.gz,平台选择platform independent。

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)

空闲对象清除器线程运行的休眠毫秒数。当非正值时,没有空闲对象清除线程将运行

对象清除器执行时会将超过Soft Min Evictable Idle Time(ms)线程休眠时间的线程清除掉。

Auto Commit 自动提交sql语句,比如:修改数据库时,自动 commit
Transaction isolation 事务隔离级别;主要有如下几个选项:
TRANSACTION_NODE 事务节点;
TRANSACTION_READ_UNCOMMITTED 事务未提交读;
TRANSACTION_READ_COMMITTED 事务已提交读(生产压测常用);
TRANSACTION_SERIALIZABLE 事务序列化;
DEFAULT 默认;
TRANSACTION_REPEATABLE_READ 事务重复读;
Preinit Pool 立即初始化连接池 如果为 False,则第一个 JDBC 请求的响应时间会较长,因为包含了连接池建立的时间
Pool Prepared Statements 每个连接池中准备语句的最大数量。“-1”禁用池化,“0”表示池化预处理语句的数量不受限制。(默认为“-1”)
Init SQL statements separated by new line SQL语句集合,用于在首次创建物理连接时初始化物理连接。这些语句只执行一次——当配置的连接工厂创建连接时。

 

 

 

 2.3、Connection Validation by Pool

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

字段名称含义
Test While Idle 当空闲的时候测试连接是否断开
Soft Min Evictable Idle Time(ms) 连接在池中处于空闲状态的最短时间
Validation Query

一个简单的查询,用于确定数据库是否仍在响应 默认为jdbc驱动程序的 isValid() 方法,适用于许多数据库

不同类型的数据库测试sql不一样,具体参考官网。

 

 

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 建立连接时要设置的连接属性

 

注意:

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

 

 

2.5、不同数据库驱动

可以参考下面的表格

DatebaseDriver classDatabase 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"

posted @ 2023-01-31 17:09  Chaman囍  阅读(911)  评论(0编辑  收藏  举报