1.聚合报告
重点关心的性能指标:
· 响应时间
1.观察当前的最大最小值的波动范围
2. 如果波动范围不大,以平均响应时间作为最终的性能响应时间结果
3.如果波动范围很大,以90%(经验的响应时间作为最终性能响应时间结果。
· 错误率
· 吞吐量
每秒发送/接收的字节数
2.HTML报告
步骤:
1、在bin目下执行上述命令
2、等待脚本执行完成后,进行report文件夹下,打开index.html,可以看到性能测试的详细数据统计
插件安装:
(1).安装插件管理器
· 在到jmeter官网上下载插件管理器plugins-manager-1.3.jar
· 将jar包放入到ib\ext目录下
· 重启jmeter,可以在选项下看到Plugins Manageri选项
(2)安装指定的插件
· 打开Plugins Manager插件管理器
· 选择Available Plugins,当前可用的插件
· 选择需要下载的插件(等待右方文本内容展示出来)
· 点击右下角的下载按钮,自动的完成下载,jmeter会自动重启
1.性能测试常用图表
1.1Concurrency Thread Group
1.2 TPS:运行过程中的TPS统计
1.3 Bytes Through Over Time:运行过程中的传输速率
基于jmeter客户端监控服务器硬件资源:
1、下载安装包ServerAgent-.2.2.3.Zp
2、解压缩安装包
3、启动安装包中的执行文件:服务器windows,启动startAgent.bat
4、Jmeter中添加插件,在监听器一一perForm插件,并配置。
5.运行性能脚本,会自动监控。
并发数计算:
(1)普通的计算方式:
TPS=总的请求数?总的时间
问题:对于同一天的时间内,不同的时间段,请求速率会有波动,这样计算会被平均掉,无法测试负裁高的情况
(2)二八原则:
核心:80%的请求数会集中在20%的时间内完成
TPS=总的请求数?80%?总的时间?20
注意:二八原则的计算方法会比平均的计算方式更准确
(3)按照每天的具体业务数据进行计算
当获取每天的具体业务统计数据时,就可以统计出业务请求集中的时间段作为有效业务时间;并统计有效业务时间内的总请求数。
TP5=有效业务时间的总请求数?80%?有效业务时间?20%
(4)模拟用户峰值业务操作的并发量:(压力测试TPS)
获取每天的交易峰值的时间段,及这个时间段内的所有请求的数量
TPS=峰值时间内的请求数?峰值时间段?系数
系数可以是:2、3、6、10,由项目组自己觉得要达成的性能指标
案例:
某购物商城,经过运营统计,正常一天成交额为100亿,客单价平均为300元,交易时间主要为10:00-14:00,17:00-24:00,其中19:00一20:00的成交量最大,大约成交20亿。
现升级系统,需要进行性能测试,保证软件在上线后能稳定运行。
请计算出系统稳定性测试时的并发(负载)量,及保证系统峰值业务时的并发(负载)量
基于需求:
· 稳定性分析
有效的交易时间为10:00-14:00,17:00-24:00,一共为7个小时
有效的请求数:100亿?300
稳定性TPS=100亿?300?80%?(11?3600?20%)
· 压力分析
峰值的交易时间为19:00-20:00,一共为1个小时
有效的请求数:20亿?300
峰值TPS=20亿?300?3600?系数
1.简介:
特点:
· 开源的性能测试框架
· 不需要单独安装软件,只需要安装导入python.库
· 可以分布式操作,模拟大量用户
· 具体web界面,可以进行性能测试操付
· 需要一定的代码能力,开发对应的脚本
2.Locust安装
. pip install locustio ==0.12.2。(版本)
· 通过Pycharm进行安装
3.编写测试脚本步骤:
3.1定义任务
3.2定义任务集(用户行为)
任务集:用户行为的集合
3.3定义locust类
定义用户,关联用户行为集合,控制用户行为的执行
3.4运行Locust
在浏览器中输入:locallhost:8089,回车,就可以看到界面(启动成功)
启动压测执行:
填写对应的虚拟用户数,及用户的启动速度,点击开始测试
locust执行测试时系统指标的监控——类似于jmeter中的聚合报告
总结