jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用
JDBC Request
这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作。它经常需要和JDBC Connection Configuration配置原件(配置数据库连接的相关属性,如连接名、密码等)一起使用。
一. 准备工作
1、使用sqlserver数据库进行测试,数据库的用户名为root(你自己的用户名),用户名密码为*********(你自己的密码)
2、数据库中有表:sys_user,表的数据结构如下:
3. 表中数据有:
二.添加不同的驱动
使用不同的数据库,我们需要引入不同的jar包。
方式1:直接将jar包复制到jmeter的lib目录
- mysql数据库:无需引入其他数据库驱动jar包。
- sql server 数据库:下载sqljdbc4.jar 放到 jmeter根目录的lib目录下
- oracle数据库:将oracle数据的安装目录下面的\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar 放到jmeter根目录下的lib目录下
方式2: 假如我们不使用将jar复制到jmeter的lib目录的方式,我们还可以使用Jmeter的Test Plan引入相应的jar包,如下面引入sqlserver数据的jar包
三.配置JDBC Connection Configuration
重要参数说明:
- Variable Name:数据库连接池的名称,我们可以有多个jdbc connection configuration,每个可以起个不同的名称,在jdbc request中可以通过这个名称选择合适的连接池进行使用。
- Database URL:数据库url,jdbc:mysql://主机ip或者机器名称:mysql监听的端口号/数据库名称, 如:jdbc:mysql://localhost:3306/test
- JDBC Driver class:JDBC驱动
- username:数据库登陆的用户名
- passwrod:数据库登陆的密码
- 不同数据库具体的填写方式,可以参考下面的表格:
Datebase | Driver class | 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 |
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"
|
Sqlserver填写后大致如下:
四.配置JDBC Request
Variable Name: 数据库连接池与JDBC Connection Configuration 中保持一致
Query: sql脚本,填写的sql语句未尾不要加“;”
执行结果树结果如下: