35 JMeter性能测试常用图表
二八原则的估算结果会比平均值的计算方法更能满足用户需求。按照需求所示,在2019年第32周,有4.13万的浏览量,那么总请求数,我们可以认为估算为4.13万(1次浏览都至少对应1个请求)结论:按照普通计算方法,我们在测试环境对相同的系统进行性能测试时,每秒能够发送0.48请求就可以满足线上的需要。业务数据:有的公司会统计一定时间内的所有业务数据,我们可以根据这个业务数据曲线图,统计出最多请求的数量
JMeter性能测试常用图表
1. 常用平均并发数计算公式
PV:(Page View)即页面访问量,每打开一次页面PV计数+1,刷新页面也是。PV只统计页面访问次数。
UV(Unique Visitor),唯一访问用户数,用来衡量真实访问网站的用户数量。
一般用UV统计用户活跃数,用PV统计用户访问页面的频率
1.1 普通计算方法
计算公式:TPS= 总请求数 / 总时间
按照需求所示,在2019年第32周,有4.13万的浏览量,那么总请求数,我们可以认为估算为4.13万(1次浏览都至少对应1个请求)
总请求数 = 4.13 万请求数 = 41300 请求数
总时间:由于不知道每个请求的具体时间,我们按照普通方法,我们可以按照一周的时间进行计算
总时间 = 1天 = 1 * 24 小时 = 24 * 3600 秒
套入公式可得:
TPS = 41300请求数/24*3600秒 = 0.48请求数/秒
结论:按照普通计算方法,我们在测试环境对相同的系统进行性能测试时,每秒能够发送0.48请求就可以满足线上的需要。
1.2 二八原则计算方法
二八原则就是指80%的请求在20%的时间内完成
计算公式 : TPS = 总请求数 80% / (总时间20%)
按照公式进行计算
TPS = 41300 * 0.8请求数 / 2436000.2秒 = 1.91 请求数/秒
结论:按照二八原则计算,在测试环境我们的TPS只要能达到1.91请求数每秒就能满足线上需要。二八原则的估算结果会比平均值的计算方法更能满足用户需求。
1.3 按照业务数据进行计算
业务数据:有的公司会统计一定时间内的所有业务数据,我们可以根据这个业务数据曲线图,统计出最多请求的数量和时间比
例。
曲线图看趋势
计算模拟用户正常业务操作(稳定性测试)的并发量:
根据这些数据统计图,可以得出结论:
大部分订单在8点-24点之间,因此系统的有效工作时长为16个小时
从订单数量统计,8-24点之间的订单占一天总订单的98%左右(40474个)
结合二八原则计算公式 : TPS = 总请求数 80% / (总时间20%)
需要在测试环境模拟用户正常业务操作(稳定性测试)的并发量为:
TPS = 40474 * 0.8请求数 / 1636000.2秒 = 2.81 请求数/秒
计算模拟用户峰值业务操作(压力测试)的并发量:
根据这些数据统计图,可以得出结论:
订单最高峰在在21点-22点之间,一小时的订单总数大约为8853个
计算压力测试的并发数:TPS = 峰值请求数/峰值时间 * 系数
需要在测试环境模拟用户峰值业务操作(压力测试)的并发量为:
TPS = 8853 请求数 / 3600秒 * 3(系数) = 7.38 请求数/秒
2. 插件管理包工具
说明:下载jmeter插件管理工具包(可以用此包下载jmeter插件)
2.1 应用步骤
- 下载包管理工具jar包
- 将包管理工具jar包添加到jmeter中
- 下载性能测试常用组件
- 下载: https://jmeter-plugins.org/install/Install/
3. 性能测试常用图表及组件
- Concurrency Thread Group 线程组
- Transactions per Second 每秒事务数
- Bytes Throughput Over Time 吞吐量
- PerfMon Metrics Collector 性能指标收集器
3.1 Concurrency Thread Group 线程组
说明:阶梯线程组
添加方式:测试计划 --> 线程(用户)–> Concurrency Thread Group
参数:
重点:
Target Concurrency:目标并发(线程数)
Ramp Up Time:加速时间
Ramp-Up Steps Count:加速步骤计数
Hold Target Rate Time:运行时间
Time Unit:时间单位(分钟或者秒)
了解:
Thread Iterations Limit:线程迭代次数限制(循环次数)
Log Threads Status into File:
将线程状态记录到文件中(将线程启动和线程停止事件保存为日志文件)
3.2 Transactions per Second
说明:每秒完成事务数 场景:统计业务成功率
添加方式:测试计划 --> 线程组–> 监听器–>Transactions per Second
提示:需要配合事务控制器完成,如果不使用事务控制器,默认1个请求为1个事务
3.3 Bytes Throughput Over Time
说明:查看服务器吞吐流量 单位/字节
添加方式:测试计划 --> 线程组–> 监听器–>Bytes Throughput Over Time
3.4 PerfMon Metrics Collector
说明:用来监控服务端的性能的工具,包括cpu、内存、磁盘、网络等性能数据
添加方法:线程组->监听器->jp@gc - PerfMon Metrics Collector
注意:使用之前需要在服务器端安装监听服务程序并启动
监控服务器服务程序:
- 下载安装包ServerAgent-2.2.3.zip,链接地址:https://github.com/undera/perfmon-agent
- 解压ServerAgent-2.2.3.zip
- 启动,如果是windows运行startAgent.bat,如果是linux运行startAgent.sh
- 启动这个工具后,jmeter的插件jp@gc - PerfMon Metrics Collector就可以收集服务端的资源使用率,并在jmeter中查看了
更多推荐
所有评论(0)