jmeter-测试数据库(添加jdbc请求)

2025-10-22 09:24:06

1、首先,你需要自己去网上下载一个jdbc的驱动器。本次介绍的是mysql的链接。所以我这里用的mysql的驱动器,放在%JMETER_HOME%/lib目录下(即jmeter的安装目录下的lib目录下)。

jmeter-测试数据库(添加jdbc请求)

2、启动jmeter,打开界面工具。添加一个线程组。

jmeter-测试数据库(添加jdbc请求)

3、添加一个JDBC Connection Configuration,连接池配置文件。

右键线程组【添加】--【配置元件】--【JDBC Connection Configuration】

jmeter-测试数据库(添加jdbc请求)

4、Variable Name Bound to Pool

这是Variable Name:连接池名称。JDBC Request会通过此名称来获取连接池的配置,名称可以随意填写,但是最好具体实际的业务意义,方便理解和记忆。

我这里就先用jdbc-demo来命名了。

其他的可以默认,可以根据实际情况来调节优化性能。

Database Connection Configuration:

Database URL:数据链接url,格式:jdbc:mysql://{host}:{port}/{databaseNmae}

数据库的ip地址+端口/数据库名

JDBC Driver Class:驱动器名称。固定:com.mysql.jdbc.Driver

Username:用户名

Passowrd:密码

如果用的其他的数据库可以搜索驱动器名称和URL格式。

jmeter-测试数据库(添加jdbc请求)

5、添加一个JDBC Request。

右键线程组【添加】-【Sampler】-【JDBC Request】

jmeter-测试数据库(添加jdbc请求)

6、Query Type类型有很多。简单介绍常用的几个:

Select Statement:查询语句

Updata Statement:更新语句

Prepared Select Statement:预编译查询语句。(长时间执行效率更高,支持占位符)

Prepared Update Statement:预编译更新语句。(同上)

Commit (立即提交)Rollback(回滚)

jmeter-测试数据库(添加jdbc请求)

7、选择Prepared Select Statement。

示例采用占位符(占位符你还可以引用用户自定义的变量,很方便,不需要每次更改sql语句)。

直接使用系统表mysql中的user来查询。

select HOST,User,Password from user;

jmeter-测试数据库(添加jdbc请求)

8、结果有三列:HOST,User,Password

现在只想筛选出HOST=localhost和User=root的数据。

故sql语句为:

select HOST,User,Password from user where HOST=? and User = ?;

然后在下面参数中输入:

Parameter  values:参数值。参数化sql语句中的指。故输入:localhost,root

Paramter  types:参数类型。数据库的参数你可以去查看一下。这里是两个CHAR,CHAR类型。

Variable names:变量名字,也就是将筛选出来的值放在变量里面。例如这三列数据分为放在变量:A,B,C中(实际操作中命名一定要有实际意义)。

Result variable name:存储变量名。将整个结果存储在变量中。取名:rs

Query timeouts :超时时间。根据实际定义吧。

jmeter-测试数据库(添加jdbc请求)

9、添加一个Debug Smapler来查看变量获取的值是否正确。

这里我只看刚才设置的变量的值,因此将JMeter variables设置为true

jmeter-测试数据库(添加jdbc请求)

jmeter-测试数据库(添加jdbc请求)

10、运行,查看结果。

jdbc有了结果。

Debug Sampler中可以看到A_1取到了HOST的第一个值,B_1取到了User第一个值,C_1取到了Password第一个值。如果有多条记录还是继续A_2,B_2,C_2

rs取到了所有的值。

jmeter-测试数据库(添加jdbc请求)

jmeter-测试数据库(添加jdbc请求)

11、JDBC的请求就测试完成了。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢