1.环境准备,下载驱动mysql-connector-java-5.1.45-bin.jar
下载的jar包保存在Jmeter的文件的lib下的ext目录下,则不需要做其他的配置了,也不用担心以后给其他电脑copy文件,忘记copy某个文件夹了【推荐这一种,免得jar被删除而没有头绪】
2.再TestPlan中导入jar文件
3.jdbc配置
有了依赖的jar包后,再线程组上从配置元件中选择JDBC Connection Configuration,如下
将以上分为4个区域,先来介绍1区域Variable Name for created pool:
Variable Name: 填写入一个变量名,需要和用到的JDBC request 中,或者JDBC PreProcessor,或者JDBC PostProcessor中的变量名一致;如此一来,一个测试计划中可以绑定多个DB源;
其次介绍2区域,数据库连接的配置,将数据库url/port/db name/用户名和密码等填入
按照下面常用的sample填写即可
mysql数据库配置如下:
重要参数说明
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:数据库登陆的密码
Database URL :jdbc:mysql://localhost:3306/test --有时候会加上字符编码等,如 jdbc:mysql://ip:3306/数据库名?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
JDBC Driver class: com.mysql.jdbc.Driver
Username:root
Password:root
sqlserver数据库:
Database URL :jdbc:sqlserver://localhost:1433;databaseName=test
JDBC Driver class: com.microsoft.sqlserver.jdbc.SQLServerDriver
Oracle数据库:
Database URL : jdbc:oracle:thin:user/pass@//host:port/service
JDBC Driver class: oracle.jdbc.OracleDriver
接下来介绍3区域,一般默认,Validation Query 一般选择 select 1
最后是4区域,关于数据库连接池的配置,你在一般使用中,默认即可;但是你想压测,单独负载测试DB,想找出DB最适合的连接池,就要稍加注意。我之后会再总结下.
4.jdbc请求
在取样器sample中添加JDBC Request
Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致
Query type:(常用的如下)
1、Select statement这是一个查询语句类型;如果JDBC Request中的Query内容为一条查询语句,则选择这种类型。
2.Update statement这是一个更新语句类型(包含insert和update);如果JDBC Request中的Query内容为一条更新语句,则选择这种类型。
3.Prepared statement用于绑定变量重用执行计划,对于多次执行的SQL语句,Prepared statement无疑是最好的类型(生成执行计划极为消耗资源,两种实现速度差距可能成百上千倍),PreparedStatement的第一次执行消耗是很高的. 它的性能体现在后面的重复执行。
4.Prepared update statement
Prepared update statement和Prepared select statement的用法是极为相似的
Query:填写的sql语句
Parameter valus:参数值
Parameter types:参数类型:varchar、integer...
Variable names:保存sql语句返回结果的变量名
Result variable name:创建一个对象变量,保存所有返回的结果
Query timeout:查询超时时间
Handle result set:定义如何处理由callable statements语句返回的结果
对应数据库的库和表
5.添加断言结果,断言sql查询结果
6.添加查看结果树,查看结果