jmeter不仅可以对接口进行测试,还可以直接对后端的数据库压力测试
一、工作准备:
1、数据库的访问地址、用户名、密码
2、可用的网络
3、数据库驱动软件
二、jmeter组件的搭建及配置
1、在进行操作前先将数据库驱动软件放入jmeter的\Lib\ext下面
2、打开jmeter,添加线程组、配置元件JDBC Connection Configuration、sampler的JDBC Request、监听器的聚合报告、查看结果树(主要用于查看数据是否正确)
3、打开JDBC configuration ,在页面中填写相关的配置信息
Variable Name,数据库连接池的变量名,之后JDBC request可以通过选择不同的连接池名来选择不同的数据库连接
.Database URL:数据库地址
JDBC Driver class:根据连接的数据库固定为com.mysql.jdbc.Driver或oracle.jdbc.OracleDriver
Username:用户名
Password:密码
其他信息保持不变
4、配置JDBC Request
一般在进行request配置时,先在数据库中验证SQL语句的正确性:
配置request
Variable Name:上一步创建好的数据库连接池的名字 (mysql)
QUery:执行的语句
Parameter value:要执行的sql语句里面设置传入的参数值
Parameter Types:参数类型
Variable Name:可以用来存储查询的值,如IP
在jmeter中引用时,需要加行号,比如${IP_Id_1}代表IP列第一行的值
三、运行结果
1、查看结果树中确认脚本正确
2、聚合报告中,查看具体的性能参数
根据不同场景设置不同的SQL以及执行的线程组,可以对表的查询速度做一个测试,在实际的业务中,很多操作其实是对数据库的多表复杂查询,均可以通过此种方法进行测试。
对于查询的数据也可以进行参数化引用
四、对数据库查询数据的参数化引用
数据的参数化方式,有多种可参见(学习6),根据自己的需要进行选择,此处我们选择benshell 的方式进行参数化
在原有的场景中添加组件:http请求、http信息头(post方式需要添加)
此处vars.getobject(IP),配置request中的IP的文件
vars.getobject(IP).get(ip).get(ip) :表示获取文件名为IP中的 列名为:ip 的3行的数据(起始值为0)