网站首页 > 文章精选 正文
一、连接MQSQL数据库
1、准备mysql驱动包
jmeter要连接mysql数据库,首先得下载mysql jdbc驱动包,尽量保证其版本和你的数据库版本一致,至少不低于数据库版本,否则可能有问题。官网下载地址为:MySQL :: Download Connector/J
下载之后解压放到本地目录~
2、准备好驱动包后,需要把jdbc驱动jar包引入测试计划。
点击测试计划-->点击浏览-->选中mysql驱动jar包-->打开,如下图所示:
或者,把
mysql-connector-java-5.1.28.jar 放到Jmeter安装目录的lib/exp目录下,并重启jmeter.
3、配置JDBC Connection Configuration
在线程组下新建一个JDBC Connection Configuration配置元件,需要用到这个元件来完成数据库的连接,详细配置如下图所示:
这里我们主要关注Variable Name Bound to Pool 和Database Connection Configuration两部分内容,其他字段可以保持默认值
Variable Name:数据库连接池的名称,在JDBC Request中会用到; Database URL:数据库URL,jdbc:mysql:// IP地址:端口/库名; JDBC Driver Class:JDBC驱动 Username:数据库用户名; Password:数据库密码;
4、配置JDBC Requests
上面我们已经完成了对数据库的连接,但要完成对数据库操作的话呢,还需要新建一个取样器JDBC Request,如下图所示:
Query: 填写要被执行的SQL语句
Parameter values:参数值 Parameter types:参数类型 Variable names:保存sql语句返回结果的变量名 Result variable name:创建一个对象变量,保存所有返回的结果 Query timeout:查询超时时间 Handle result set:定义如何处理由callable statements语句返回的结果
至此一个最简单的jmeter连接mysql数据库的脚本就基本准备好了,接下来添加一个监听器:察看结果树 ,然后运行脚本即可,结果如下图所示:
二、设置报告及定时器
2.1 查看结果树配置
2.2 汇总报告配置
2.3 聚合报告
2.4 响应时间
2.5 统一随机定时器
2.6 观察并发测试效果
设置了等待时间后,可以通过聚合报告清楚的看到每间隔2秒,同时发出200个请求。
如果不添加定时器,Jmeter每个连接线程向服务器发送的请求是不规律的,如果要最大程度的模拟请求压力,就需要用到Jmeter中定时器的功能,设置并发(Synchronizing Timer)、设置等待时间(固定定时器)是最常用的定时器。除了这两个定时器外,Jmeter还提供了其他几个定时器,本质上的目的都是控制请求频次来模拟真实的用户场景。
三、JDBC REQUESTS参数化
方法(一):自定义用户变量,然后进行引用
1.在测试计划界面【用户定义的变量】里定义需要的变量
2.在JDBC Request界面SQL Query输入框中以${变量名}的形式引用变量
或者也可以在JDBC Request里添加一个用户定义的变量
点击JDBC Request --> 点击添加,点击配置元件,点击用户定义的变量
然后定义需要的变量,如下图所示
方法(二):在被执行的SQL语句中使用“?”作为占位符,并传递参数值和参数类型,其中,传递的参数值有常量和变量之分。
1、当传递的参数值是常量时,如下图所示,传入的订单号:
2、当传递的值是变量时,如下图中的所示:
至于这里引用Variable names时,为什么在变量名后面加了一个“_1”,是因为查询到的结果是一个列表,所以不管它查询的是一条还是多条数据,都要通过下标去取它的值,写法就是:变量名_下标。
比如:
id | name |
100 | Mike |
101 | Jane |
sql语句返回2行2列,id和named的Variable names设置为A、C,那么要取name为Mike的值,就设置为C_1,取name等于Jame的值,就设置为C_2。
四、生成测试报告
生成测试报告命令:
jmeter -n \
-t D:\OpenSources\校园小商品交易测试计划.jmx(脚本的绝对路径) \
-l 校园小商品交易JMeter测试.jtl(自定义的名称) \
-e -o D:\jmeterResult(测试报告的绝对路径)
# example
jmeter -n \
-t D:\OpenSources\test.jmx \
-l test-result.jtl \
-e -o D:\jmeterResult
参数说明:
n: 非GUI模式执行JMeter
t: 脚本文件(.jmx文件)的路径
l: 指定生成测试结果的保存文件(.jtl格式),此文件必须不存在
e: 测试结束后,生成测试报告
o: 用于存放测试报告的路径
猜你喜欢
- 2025-06-23 测试开发之自动化篇-有效测试数据管理
- 2025-06-23 测试用例编写方法(测试用例编写方法是什么)
- 2025-06-23 穿透与击穿:缓存世界的两场“攻击”,Java工程师如何见招拆招?
- 2025-06-23 用一场比赛来介绍CyclicBarrier和CountDownLatch区别
- 2025-06-23 JMeter脚本录制插件BlazeMeter(jmeter录制脚本的目的)
- 2025-06-23 如何避免数据库雪崩?高并发下的性能挑战与应对!
- 2025-06-23 性能测试工具Locust(性能测试工具loadrunner)
- 2025-06-23 软件性能测试常见面试题(软件性能测试的基本思路)
- 2025-06-23 DeepSeek性能测试实战:5分钟压测API接口,精准定位系统瓶颈!
- 2025-06-23 jmeter接口应用3:jmeter后置处理器-提取器
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)