一键启动脚本并且生成测试报告(无需修改jmeter的jmeter.properties文件)
1.新建一个记事本,并将后缀名修改为.bat,例如startjmeter.bat
2.将下列内容复制到该文件中并保存,建议使用notepad++打开编辑
@echo start jmeter
SET str=%date:6,4%%date:0,2%%date:3,2%%time:1,1%%time:3,2%%time:6,2%Report
jmeter.bat -n -t C:\Users\eenzany\Desktop\compass\COMPASS-test.jmx -l C:\Users\eenzany\Desktop\compass\report\logfile1%str%.jtl -e -o C:\Users\eenzany\Desktop\compass\report%str%
@echo end jmeter
3.需要在生成报告的地方新建一个文件夹report(我的路径是C:\Users\eenzany\Desktop\compass下新建了一个report),用来存放生成的报告
3.脚本详解:SET str:定义一个变量用来获取当前时间
jmeter.bat -n -t C:\Users\eenzany\Desktop\compass\COMPASS-test.jmx -l C:\Users\eenzany\Desktop\compass\report\logfile1%str%.jtl -e -o C:\Users\eenzany\Desktop\compass\report%str%
-n:设置命令行模式
-t:指定jmeter.jmx脚本路径,参数为:JMX脚本路径,若非当前目录需用全路径或相对路径
-l:指定结果文件路径(jtl或csv),参数为文件路径。路径不存在会自动创建(我这里首先创建了一个report文件夹,将自动生成的jtl文件名拼接了变量str(当前时间),每次都会自动创建,所以不会重复)
-e:设置测试完成后生成测试报表
-o:指定测试报表生成文件夹。文件夹必须为空或不存在,参数为报表文件夹路径(我这里首先创建了一个report文件夹,将自动生成的报表测试文件夹以变量str(当前时间)命名,每次都会自动创建)
一、Dashboard模块:
1.Test and Report information(测试和报告信息):
1.Source file:测试结果保存文件
2.Start Time :测试开始时间
3.End Time:测试结束时间
4.Filter for display:展示过滤器
2.APDEX (Application Performance Index):应用性能指标
**1.Apdex:**应用程序性能满意度的标准,范围在 0-1之间,1表示达到所有用户均满意,反之0则表示均不满意,可以在配置文件设置
**2.Toleration threshold:**可接受(容忍或满意)阈值,即用户可接受的响应时间
**3.F(Frustration threshold):**不可接受(失败)阈值,即用户不可接受响应时间
**4.Lable:**请求名称即采样器名称
Requests Summary: 请求的通过率(OK)与失败率(KO),百分比显示。
Statistics: 数据分析,基本将 Summary Report 和 Aggrerate Report 的结果合并,类似于jmeter聚合报告。
Request->Label:请求名称即采样器名称
Executions->#Samples:共请求多少次,请求的数量(线程数 * 循环次数)
Executions->KO:错误数量
Executions->Error%:错误率
Response Time(ms):响应时间
Average:平均响应时间
Min:最小响应时间
Max:最大响应时间
90%Line:90%线,90%用户响应不超过该时间
95%Line:95%线,95%用户响应不超过该时间
99%Line:99%线,99%用户响应不超过该时间
Throughput:吞吐量,一般情况下可看做每秒完成请求数(和QPS类似)
**特别强调下90th pct:这里指的是百分之九十的用户都不超过多少ms,并不是多少指百分之九十的用户是多少ms**
Network(KB/sec):网络情况
Received:每秒从服务器端接收到的数据量
Sent:每秒从客户端发送的请求的数量
Errors: 错误情况,依据不同的错误类型,将所有错误结果展示,统计请求出现的错误
Top 5 Errors by sampler:采样器的5大错误,主要是统计TOP5发生错误的采样器信息,这里如果全部通过,就不会有统计。
二、Chart模块:
1.Over Time(时间变化):
1.1 Response Times Over Time(响应时间变化曲线),类似于JMeter Plugins上的jp@gc - Response Times Over Time,Response Times Over Time,即响应时间随时间变化趋势。由于应用需要初始化建立连接以及CPU、内存等分配都会消耗资源,随着系统趋于稳定,响应时间也会趋于稳定。
1.2 Response Time Percentiles Over Time (successful responses) (成功响应时间百分比),类似于jmeter聚合报告中的Min、Max、90%、95%、99%
1.3 Active Threads Over Time(活动线程时间变化曲线图),随着时间变化,每个时间节点上的活动线程数活跃线程变化趋势,即并发用户数趋势。相当于我们模拟的并发用户发出请求随着时间变化的趋势。
1.4 Bytes Throughput Over Time(字节吞吐量时间变化曲线图),蓝色为每秒发送字节数,黄色为每秒接收字节数
1.5 Latencies Over Time(延迟时间曲线图),记录的是客户端发送请求完成后,服务器端返回请求之前的这段时间,在高并发场景或者业务强数据一致性场景,延时是个很严重的影响因素
1.6 Connect Time Over Time(连接时间变化曲线图),随着时间变化,每个时间节点花费在连接上的平均时间
2.Throughput(吞吐量)
2.1 Hits Per Second(每秒点击率):类似于JMeter Plugins上的jp@gc - Hits per Second
也叫每秒请求数
2.2 Codes Per Second(每秒状态码数量):即每秒响应状态码数量,这里主要是对200响应成功的状态码进行记录统计。
2.3 ransactions Per Second(每秒事务数):即TPS,是性能测试中很重要的一个指标,它是用来衡量系统处理能力的一个重要指标,类似于JMeter Plugins上的jp@gc - Transactions per Second如果没有开启事务,那么TPS也可看做QPS
2.4 Total Transactions Per Second(每秒总事务数)
2.5 Response Time Vs Request(响应时间点请求的成功或失败数)
2.6 Latency Vs Request(延迟时间点请求的成功或失败数):即响应时间和请求数对比关系,如果请求数量太小就只有一些散点。
3.Response Times(响应时间)
3.1 Response Time Percentiles(响应时间百分比):响应时间百分比,通过之前压测数据中所有响应时间统计分析所展示的。可以更详细看出自己所需要了解的百分线用户的响应时间。
3.2 Response Time Overview(响应时间概述): 响应时间概述,仔细看下面这种图不难发现,横坐标所绘制的区间和我们最开始看到的APDEX应用程序性能指数中划分的区间一致
3.3 Time Vs Threads(平均响应时间和线程数的对应变化曲线):即活跃线程数和响应时间对比关系,这块如果请求数据较少的话就会造成结果不是十分明显。
3.4 Response Time Distribution(响应时间分布)
作者:demil
链接:https://www.jianshu.com/p/5e5a2882b504
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。