Jmeter的应用

一.jmeter直连数据库
Jmeter的应用
文章图片

1.1 配置
添加Mysql的驱动jar包
方式1:在测试计划面板点击‘游览’按钮,将jdbc驱动添加进来
Jmeter的应用
文章图片

方式2:将MySQL的驱动jar包放在lib/ext目录下,重启jmeter
【Jmeter的应用】1.2 配置数据库连接信息
位置:测试计划-->线程组-->配置元件-->JDBC Connection Configuration
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:密码
添加一个JDBC Request。
位置:右键线程组【添加】-【Sampler】-【JDBC Request】
Jmeter的应用
文章图片

Select Statement:查询语句
只能执行查询语句select,执行第一条sql语句,而且第一条必须是select语句,否则报错
Jmeter的应用
文章图片

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 :超时时间。
二.逻辑控制器
1.作用:可以按照设置的逻辑控制取样器的执行顺序
2 常见的逻辑控制器
如果(if)控制器
循环控制器
ForEach控制器
2.1if控制器
作用
if控制器来控制它下面的测试元素是否运行
位置
测试计划-->线程组-->逻辑控制器-->如果(if)控制器
Jmeter的应用
文章图片

用户定义变量
Jmeter的应用
文章图片

第一个if控制器中添加条件
Jmeter的应用
文章图片

第一个if控制器中添加条件
Jmeter的应用
文章图片

2.2:循环控制器
作用
通过设置循环次数,来实现循环发送请求
位置
测试计划-->线程组-->逻辑控制器-->循环控制器
Jmeter的应用
文章图片

2.3:ForEach控制器
作用
一般和用户定义变量或者正则表达式提取器一起使用,读取返回结果中一系列相关的变量值
位置
测试计划-->线程组-->逻辑控制器-->循环控制器
Jmeter的应用
文章图片

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

用户定义变量维护数据
Jmeter的应用
文章图片

ForEach数据维护
Jmeter的应用
文章图片

引用
Jmeter的应用
文章图片
三.定时器
1.定义:同步定时器:堵塞线程(积累一定的请求),当在规定的时间内达到一定的线程数量,这些线程会在同一个时间点一起释放,瞬间产生很大的压力
位置
测试计划-->线程组-->http请求-->定时器-->Synchronizing Timer
Jmeter的应用
文章图片

3.1常数吞吐量定时器
作用:让jmeter按指定的吞吐量执行,以每分钟为单位
位置
测试计划-->线程组-->http请求-->定时器-->Constant Throughput Timer
适用场景
需要被指定的吞吐量发送请求时,可以使用常数吞吐量定时器规定好每个用户每分钟发送的请求数
3.2固定定时器
作用:固定定时器:定时器(Timer)负责定义请求之前添加延迟间隔
位置
测试计划-->线程组-->http请求-->定时器-->固定定时器
参数讲解
Jmeter的应用
文章图片

四.jmeter分布式
jmeter分布式执行原理
Jmeter的应用
文章图片

分布式的注意事项
关闭防火墙
所有的控制机,代理机,服务器都在同一个网络上所有机器的jmeter和Java版本都必须一致
关闭RMI中的SSL开关
jmeter分布式的配置和执行
配置---修改bin/jmeter.properties文件
Jmeter的应用
文章图片

执行
Jmeter的应用
文章图片

代理机设置jmeter.properties文件
Jmeter的应用
文章图片

启动代理机jmeter-server.bat
Jmeter的应用
文章图片

控制机设置jmeter.properties文件
Jmeter的应用
文章图片

启动控制机jmeter.bat
Jmeter的应用
文章图片

五.jmeter监听器
5.1 聚合报告
作用:收集性能测试结束后,系统的各项性能指标:如响应时间,并发量,吞吐量,错误率等
位置
在线程组>>添加>>监听器>>聚合报告
参数讲解
Jmeter的应用
文章图片

lable:对应请求的名称
#Samples(样本):各请求发出的数量
Average:平均响应时间(单位:毫秒)
Median:中位数,也就是50%用户的响应时间
90%Line:90%用户的响应时间
Min:最小响应时间
Max:最大的响应时间
Error%:请求的错误率
Throughput:吞吐量,默认情况下表示每秒完成的请求数,一般认为它是tpsRecived KB/Sec:每秒从服务器端接收到的数据量,每秒接送/发送的千字节数
察看结果树
作用:收集性能测试结束后,接口的请求响应信息(请求url,请求参数,请求头,响应头,响应数据等)
位置
在线程组>>添加>>监听器>>察看结果树
参数讲解
Jmeter的应用
文章图片

通过察看结果树,我们可以看到每个请求的结果,其中红色的是出错的请求,绿色的为通过
Thread Name:线程组名称
Sample Start: 启动开始时间
Load time:加载时长
Latency:等待时长
Size in bytes:发送的数据总大小
Headers size in bytes:发送数据的其余部分大小
Sample Count:发送统计
Error Count:交互错误统计
Response code:返回码
Response message:返回信息
Response headers:返回的头部信息

html测试报告
作用:jmeter支持生成html测试报告,以便从测试计划中获得图表和统计信息
参数讲解
Jmeter的应用
文章图片

报告参数
Jmeter的应用
文章图片

六.并发数计算方法
性能测试计算TPS
性能测试的TPS,大都是根据用户真实的业务数据(运营数据)来计算的
Jmeter的应用
文章图片

普通计算方式
TPS = 总请求数/总时间
Jmeter的应用
文章图片
二八原则计算方法
二八原则就是指80%的请求再20%的时间内完成
TPS = 总请求数80%/总时间20%
Jmeter的应用
文章图片

总结:普通计算方式只能满足基本的要求,但是不能很好覆盖系统正常的使用情况,二八原则计算方法能满足系统对大多数情况下的应用
稳定性测试的并发量
Jmeter的应用
文章图片

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

并发TPS=峰值的请求数/峰值的时间*系数
满足峰值请求时间段内的负载量,系数取决于项目组对未来业务量的评估
七.性能监控
下载插件管理包
在官网上下载
Jmeter的应用
文章图片

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

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

阶梯线程组
作用:是阶梯加压;图形界面显示运行状态
位置:测试计划-->线程组-->Concurrency Thread Group
参数讲解
Jmeter的应用
文章图片

或者
Jmeter的应用
文章图片

Transactions per Second
作用:每秒完成事务数:作用是统计各个事务每秒钟成功的事务个数
位置
测试计划-->线程组-->监听器--> Transactions per Second
Jmeter的应用
文章图片

PerfMon资源监控
作用:用来监控服务器的性能资源指标的工具,包含cpu,内存,磁盘,网络等性能数据
位置
测试计划-->线程组-->监听器--> PerfMon Metrics Collector
注意
使用之前需要在服务器安装监听服务程序并启动
Jmeter的应用
文章图片

监控服务器资源的步骤
Jmeter的应用
文章图片














    推荐阅读