jmeter 连接数据库测试笔记
JDBC 常用mysql和oracal的jar包下载地址、jdbc driver class配置参考我的博客https://www.cnblogs.com/jackzz/p/9998975.html
1、连接数据库驱动Jar包导入
2、新建JDBC Connection Configuration
3、线程组-》添加-》配置元件-》JDBC Connection Configuration,只要配置Database Connection Configuration和variable name即可,其他保持默认
jdbc:mysql://127.0.0.1:3306/TESTMYSQL?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
4、建立一个JDBC Request组件
5、添加断言
6、参考结果树,有需要的话可以添加聚合报告进行数据统计分析数据、数据库的监控,评估数据库的瓶颈
简单来说:
Variable Name: 变量名称,需要变量名绑定到池。需要唯一标识。与JDBC取样器中的相对应,决定JDBC取样的配置。简单理解就是在JDBC request的时候确定去哪个绑定的配置。
Max Number of Connection: 数据库最大链接数
PoolTimeout: 数据库链接超时,单位ms
Idle Cleanup Interval (ms): 数据库空闲清理的间隔时间,单位ms
Auto Commit:自动提交。有三个选项,true、false、编辑(自己通过jmeter提供的函数设置)
Transaction Isolation:
事务间隔级别设置,主要有如下几个选项:(对JMX加解密)
【TRANSACTION_NODE 事务节点 、
TRANSACTION_READ_UNCOMMITTED 事务未提交读、
TRANSACTION_READ_COMMITTED 事务已提交读 、
TRANSACTION_SERIALIZABLE 事务序列化 、
DEFAULT 默认、
TRANSACTION_REPEATABLE_READ 事务重复读、
编辑】
Keep-Alive: 是否保持连接Max Connection age (ms):最大连接时长,超过时长的会被拒绝Validation
Query:验证查询,检验连接是否有效(数据库重启后之前的连接都失效,需要验证查询)。。。。。。
Database URL:如jdbc:mysql://localhost:3306/test
表示本地数据库,3306端口,数据库名称为test
JDBCDriver Class: JDBC的类,如org.gjt.mm.mysql.Driver
1.jmeter连接mysql时运行无结果
解决方法:查看JDBC Connection Configuration 配置是否有错,variable name是否有填值
2.JMeter 连接mysql时运行时报“Variable Name must not be null in JDBC Request”
解决方法:查看JDBC Request中的variable name是否有填写,且与JDBC Connection Configuration 中的variable name是否保持一致。
3.JMeter 连接mysql时运行报“Cannot load JDBC driver class ‘org.git.mm.mysql.Driver‘
解决方法:修改JDBC Connection Configuration 中的JDBC Driver class配置为 com.mysql.jdbc.Driver