jmeter的使用(二)

jmeter直连数据库

直连数据库的场景

 配置

添加Mysql的驱动jar

方式1:在测试计划面板点击 游览 按钮,将 jdbc 驱动添加进

 方式2:MySQL的驱动jar包放在lib/ext目录下,重启jmeter

配置数据库连接信息

 

Variable Name: 连接池名称。 JDBC Request 会通过此名称来获取连接池的配置,名称可以随意填写,但是最好具体实际的业务意义,方便理解和记忆。
其他的可以默认,可以根据实际情况来调节优化性能。
Database URL :数据链接 url ,格式: jdbc:mysql://localhost:3306/host
注释:数据库的 ip 地址 + 端口 / 数据库名(查询数据库端口号 show global variables like 'port'
jdbc:mysql://127.0.0.1:3306/mydb2?serverTimezone=UTC& allowMultiQueries=true
JDBC Driver Class :驱动器名称。固定: com.mysql.jdbc.Driver
Username: 用户名
Passowrd: 密码

位置:右键线程组【添加】-Sampler-JDBC Request

Select Statement:查询语句
只能执行查询语句select
,执行第一条sql语句,而且第一条必须是select语句,否则报错
Updata Statement:更新语句 支持测试非select语句,并且支持测试多条,若其中夹杂select
语句,自动忽略,若第一条语句为select 语句,报错
Callable Statement:所有语句
只要语法正确,任何语句,再多的条数都能支持
Prepared Select Statement:预编译查询语句。(长时间执行效率更高,支持占位符)
Prepared Update Statement:预编译更新语句。(同上)
Commit (立即提交)
Rollback(回滚)

Parameter values :参数值。参数化 sql 语句中的值
Paramter types :参数类型。数据库的参数你可以去查看一下。这里是 varchar 类型。
Variable names :变量名字,也就是将筛选出来的值放在变量里面。例如这三列数据分为放在变量: A,B,C 中(实际操作中命名一定要有实际意义)。
Result variable name :存储变量名。将整个结果存储在变量中。取名: rs
Query timeouts :超时时间

逻辑控制器

作用

逻辑控制器:可以按照设置的逻辑控制取样器的执行顺序

常见的逻辑控制器

如果 (if) 控制器
循环控制器
ForEach 控制器

if控制器

作用

if 控制器来控制它下面的测试元素是否运行

位置

测试计划 --> 线程组 --> 逻辑控制器 --> 如果 (if) 控制器

参数介绍

js形式:

 函数形式:

 循环控制器

作用

通过设置循环次数,来实现循环发送请求

位置

测试计划 --> 线程组 --> 逻辑控制器 --> 循环控制器

参数讲解

控制的作用域不同:线程组控制的是线程组下的所有的请求,循环控制器是该控制器下的所有请求
如果线程组循环次数为 M ,循环控制器循环次数为 N
        循环控制器下的HTTP 请求运行: M*N
        线程组下的其他HTTP 请求运行: M

ForEach控制器

作用

一般和用户定义变量或者正则表达式提取器一起使用,读取返回结果中一系列相关的变量值

位置

测试计划 --> 线程组 --> 逻辑控制器 --> 循环控制器

参数讲解

类似: for kw in name:

 其中name的数据可以来源于用户定义的变量,命名规则是变量名_数字/正则表达式提取器的数据

 定时器

定义

同步定时器:堵塞线程 ( 积累一定的请求 ) ,当 在规定的时间内 达到 一定的线程数量 ,这些线程会 在同一个时间点一起释放 ,瞬间产生很大的压力
提示:在 jmeter 中叫做 同步定时器 ,在 loadrunner 中叫 集合点

位置

测试计划 --> 线程组 -->http 请求 --> 定时器 -->Synchronizing Timer

参数讲解

 模拟100个用户访问百度首页,每10用户同时请求,统计各个高并发请情况下的运行情况

 常数吞吐量定时器

作用

jmeter 指定的吞吐量 执行,以 每分钟为单位

位置

测试计划 --> 线程组 -->http 请求 --> 定时器 -->Constant Throughput Timer

参数讲解

 固定定时器

作用

固定定时器:定时器 (Timer) 负责定义请求之前添加延迟间隔

位置

规定好每个用户每分钟发送的请求数 测试计划 --> 线程组 -->http 请求 --> 定时器 --> 固定定时器

参数讲解

 登录成功的接口添加30s等待

jmeter分布式

在使用 jmeter 进行性能测时,如果项目需要支持 10000 用户并发,但是单台电脑只能支持 1000 个用户并发该怎么处理?---可以使用 jmeter 并发测试

jmeter分布式执行原理

 分布式的注意事项

关闭防火墙
所有的控制机,代理机,服务器都在同一个网络上
所有机器的 jmeter Java 版本都必须一致
关闭 RMI 中的 SSL 开关

jmeter分布式的配置和执行

配置 --- 修改 bin/jmeter.properties 文件

 执行

 jmeter监听器

聚合报告

作用

聚合报告:收集性能测试结束后,系统的各项性能指标 : 如响应时间,并发量,吞吐量,错误率等

位置

在线程组 >> 添加 >> 监听器 >> 聚合报告

参数讲解

lable :对应请求的名称
#Samples( 样本 ) :各请求发出的数量
Average :平均响应时间 ( 单位 : 毫秒 )
Median :中位数,也就是 50% 用户的响应时间
90%Line 90% 用户的响应时间
Min :最小响应时间
Max :最大的响应时间
Error% :请求的错误率
Throughput :吞吐量,默认情况下表示每秒完成的请求数,一般认为它是 tps
Recived KB/Sec :每秒从服务器端接收到的数据量,每秒接送 / 发送的千字节数

html测试报告

作用

jmeter 支持生成 html 测试报告,以便从测试计划中获得图表和统计信息

参数讲解

 报告参数

 并发数计算方法

性能测试计算TPS

性能测试的 TPS, 大都是根据用户真实的业务数据 ( 运营数据 ) 来计算的

普通计算方式
TPS = 总请求数 / 总时间

二八原则计算方法
二八原则就是指 80% 的请求再 20% 的时间内完成
TPS = 总请求数 80%/ 总时间 20%

总结:普通计算方式只能满足基本的要求,但是不能很好覆盖系统正常的使用情况,二八原则计算方法能满足系统对大多数情况下的应用

稳定性测试的并发量

根据业务运营数据的统计计算 ( 通常用来做稳定性测试 )
并发 TPS= 有效的请求数 80%/ 有效的时间 20%
当你的运营数据统计的越精确时,计算出的并发 tps 与实际的越来约接近

压力测试的并发量

并发 TPS= 峰值的请求数 / 峰值的时间 * 系数
满足峰值请求时间段内的负载量,系数取决于项目组对未来业务量的评估

性能监控

下载第三方插件

说明:先下载jmeter插件管理工具包,在用此包下载jmeter插件

下载插件管理包

官网下载

https://jmeter-plugins.org/install/Install/

1 :下载包管理工具 jar
2 :将包管理工具 jar 包添加到 jmeter lib\ext 目录下
3 :重启 jmeter, 可以在选项下看到插件管理器

 安装第三方插件

1 :打开 plugins Manager 插件管理器
2 :选择 Available Plugins ,当前可用的插件
3 :选择需要下载的插件 ( 等待右方文本内容展示出来 )
4 :下载右下角的下载按钮,自动的完成下载, jmeter 会自动重启

阶梯线程组

作用

阶梯线程组:作用是阶梯加压;图形界面显示运行状态
位置:测试计划 --> 线程组 -->Concurrency Thread Group

参数讲解

 或者

Transactions per Second  

作用

每秒完成事务数:作用是统计各个事务每秒钟成功的事务个数

位置

测试计划 --> 线程组 --> 监听器 --> Transactions per Second

 PerfMon资源监控

作用

用来监控服务器的性能资源指标的工具 , 包含 cpu, 内存,磁盘,网络等性能数据

位置

测试计划 --> 线程组 --> 监听器 --> PerfMon Metrics Collector

注意

使用之前需要在服务器安装监听服务程序并启动

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值