课程:B站大学
记录软件测试-性能测试学习历程、掌握前端性能测试、后端性能测试、服务端性能测试的你才是一个专业的软件测试工程师
性能测试-jmeter直连数据库
Jmeter直连数据库
1、下载mysql jar包
https://downloads.mysql.com/archives/c-j/

2、查看mysql版本
mysql --version

注:如果下载的jar包版本不支持mysql数据库,运行Jmter时可能会报错:no suitable driver found for jdbc:mysql//.........
3、为Jmeter添加jar文件
方式1:添加jar包到jmeter中的lib目录下(全局生效)
方式二:为测试计划导入jar包(该jmx文件生效)
4、jmeter中添加JDBC Connection Configuration配置元件
JDBC Connection Configuration 是 JMeter 中用于配置数据库连接池的元件,主要用于与关系型数据库建立连接并为性能测试提供数据库访问能力。
参数名称 | 类型 | 默认值 | 是否必填 | 作用与说明 |
---|---|---|---|---|
名称 | 文本 | JDBC Connection Configuration | 是 | 配置元件的显示名称,在测试计划中用于标识该元件 |
注释 | 文本 | - | 否 | 对该配置元件的描述或备注信息(便于团队协作理解) |
Variable Name Bound to Pool | 文本 | - | 否 | 用于将此连接池绑定到特定变量的名称(通过变量名引用连接池) |
Variable Name for created pool | 文本 | - | 否 | 创建的连接池使用的变量名称(其他元件通过此变量名获取连接池) |
Max Number of Connections | 数值 | 0 | 否 | 连接池允许的最大连接数,0 表示无限制(根据数据库性能调整) |
Max Wait (ms) | 数值 | 10000 | 否 | 等待连接的最长时间(毫秒),超过此时间将抛出异常(默认 10 秒) |
Time Between Eviction Runs (ms) | 数值 | 60000 | 否 | 连接池驱逐线程运行之间的间隔时间(毫秒,默认 60 秒) |
Auto Commit | 布尔 | True | 否 | 控制连接是否自动提交每个 SQL 语句(True 自动提交,False 需手动提交事务) |
Transaction Isolation | 下拉选项 | DEFAULT | 否 | 设置事务隔离级别(可选值:DEFAULT / READ_UNCOMMITTED / READ_COMMITTED / REPEATABLE_READ / SERIALIZABLE) |
Pool Prepared Statements | 数值 | -1 | 否 | 控制是否池化 PreparedStatement 及其最大数量,-1 表示禁用(正整数表示池化数量) |
Preinit Pool | 布尔 | False | 否 | 是否在启动时预初始化连接池(True 提前创建连接,避免首次请求延迟) |
Init SQL statements | 文本区域 | - | 否 | 连接创建时执行的 SQL 语句(每行一条,如初始化参数或校验语句) |
Test While Idle | 布尔 | True | 否 | 是否在连接空闲时进行有效性测试(True 定期检测空闲连接是否有效) |
Soft Min Evictable Idle Time(ms) | 数值 | 5000 | 否 | 连接在被认为是可驱逐的最小空闲时间(毫秒,默认 5 秒) |
Validation Query | 文本 | - | 否 | 用于验证连接是否有效的 SQL 查询语句(如 SELECT 1,需数据库支持) |
Database URL | 文本 | - | 是 | 数据库的 JDBC URL 连接字符串(如 MySQL:jdbc:mysql://localhost:3306/dbname) |
JDBC Driver class | 文本 | - | 是 | 完整的 JDBC 驱动类名称(如 MySQL:com.mysql.jdbc.Driver 或 com.mysql.cj.jdbc.Driver) |
Username | 文本 | - | 是 | 数据库用户名(用于身份验证) |
Password | 文本 | - | 是 | 数据库密码(与用户名对应的密码) |
Connection Properties | 文本 | - | 否 | 额外的连接属性,格式为 key=value,多个属性用分号分隔(如 useSSL=false;serverTimezone=UTC) |

5、添加jdbc request
说明:
Variable Name:这里填写添加DBC Connection Configuration时填写的变量名,以便建立关联
Query Type:根据需要进行设置,例中选择查询
本地创建数据库或者表:
插入一些数据:
6. 添加正则表达式提取器
调试:通过查看结果树查看jdbc request的响应数据格式,写出对应的正则表达式
匹配的正则表达式(用ai写)
7、添加取样器进行引用变量
运行成功