JMeter连接数据库

JMeter基础使用

 

JMeter连接数据库

准备工作: 启动数据库 加载mysql的JDBC驱动

方法1:在测试计划下方的位置,点击浏览添加JDBC的jar包

  添加JDBC的jiar包

 

 

 

 再添加JDBC Connection Configuration原件

 

 

 

 

配置JDBC连接池的参数,填入参数

 

 编写JDBC脚本步骤

1、添加JDBC Request请求

 

 

 

 编写执行sql

 

 

 

DBC连接池名称:必须与“JDBC连接池”中的连接名一致

要执行的sql语句

Variable Name中:写明要保存的数据的参数名

 

添加HTTP请求 —— 搜索请求

参数为中文时,将参数写到下方参数位置,并勾选上“编码

 

 

 

 

 注意:应用JDBC Request查询出的结果时,需要加上索引(因为JDBC查询的结果保存为一个列 表)

 

 

 

 此时这个mane是一个列表,要使用下标,如:mane_1,代表使用mane列表中的第一个参数

 

 

逻辑控制器

if控制器

第一种配置方法:

 

 

 

第二种配置方法:

勾选上Interpret Condition as Variable Expression,判断条件需用使用jexl3函数。

(使用这个函数来进行判定时,Jmeter自身的执行效果要高一些)

先使用jex13函数

 

 

 

点击生成,生成数据之后,复制到if控制器

 

 

 

 

 循环控制器

控制子节点下的HTTP请求的执行次数

循环控制器与线程组中的循环次数的对比:

循环控制器只控制其子节点下的HTTP请求,线程组对所有的请求都有效

假如线程组循环次数为2,循环控制器次数为3,则循环控制器下的请求执行次数为:2*3

 

 

 

 

ForEach控制器

与用户定义的变量或者正则表达式提取器配合使用,循环读取用户定义的变量或者正则表达式结果中的 所有数据。

配置参数:

 

 

 

 

 

 与用户定义的变量配合使用:

添加用户定义的变量:

参数名:固定前缀 + 连续的数字后缀

 

 

添加ForEach控制,并配置

 

 

 在ForEach控制器下添加一个HTTP请求——百度,引用ForEach控制器中定义的变量${word},作为 参数

添加查看结果树

 

与正则表达式配合使用:

1、添加HTTP请求——itcast首页

2、添加正则表达式提取器,提取出itcast响应中所有的地址相关的数据,并保存为参数area(列表数 据)

 

 

 3、添加ForEach控制器,循环提取area列表中的每一个地址信息

 

 

4、 在ForEach控制器下添加一个HTTP请求——百度,引用ForEach控制器中定义的变量${word},作为 参数

5、添加查看结果树

 

定时器

同步定时器:

 又叫做集合点(LR的叫法),保证大量的请求在同一时间进行发送,形成绝对的并发

实现原因:设置同步定时器,有请求要发出时,同步定时器会暂缓请求发送,一直到积攒的请求数达到 要的数量时 ,

将所有的请求同步发送出去,形成绝对的并发(更大的压力负载)

 

 

 

常数吞吐量定时器:

设置Jmeter以指定的吞吐量速度往服务器发送HTTP请求

 

 

 注意:常数吞吐量定时器只是帮忙达到性能测试的负载(压力)要求,本身不代表性能有bug/无bug 对于bug的分析需要通过响应时间来判断

 

jmeter分布式:

应用场景:

当性能测试时需要模拟的负载(用户/请求)太高,一台测试机无法模拟,需要使用多台测试机一 起来模拟以达到要求的负载量,这就叫分布式

原理:

分布式测试时通常由1台控制机和N台代理机

控制机:给代理发送任务,接收代理机返回的数据统计,做汇总展示

代理机:往服务器发送HTTP请求,并接收服务器的响应,并对响应进行处理

 

 

 

 分布式相关注意事项:

测试机上所有的防火墙关闭

所有的控制机、代理机、被测系统都在同一个子网中

所有的控制机和代理机上安装的Jmeter和JDK的版本必须完全一样。

要关闭Jmeter中的RMI SSL开关

 

分布式配置与运行:

配置

  代理机(Jmeter.property):

      server_port :代理机启动的端口,不冲突即可

      server.rmi.ssl.disable=true

  控制机

      remote_hosts: 代理机的IP:port,如果有多个代理机用','分隔

      server.rmi.ssl.disable=true

运行:

  代理机 进入bin目录下,执行jmeter_server.bat

  控制机: 进入bin目录下,执行jmeter.bat

  启动时,点击“运行”——“远程启动所有”控制代理机的运行

 

 

 

 

jmeter报告:

 

 聚合报告

 

 重点关心的性能指标:

  响应时间

    观察当前的最大最小值的波动范围

      如果波动范围不大,以平均响应时间作为最终的性能响应时间结果

      如果波动范围很大,以90%(经验)的响应时间作为最终性能响应时间结果

  错误率

  吞吐量

 

HMTL报告:

注意:执行HMTL报告时候要在JMeter的bin目录执行,且用管理员命令提示符

  参数:

 

 

 步骤:

1、在bin目下执行上述命令

2、等待脚本执行完成后,进行report文件夹下,打开index.html,可以看到性能测试的详细数据 统计

 

 

 

 

 

  

posted @ 2022-03-30 14:10  一影惊孤鸿  阅读(873)  评论(0)    收藏  举报