TypechoJoeTheme

Misty rain的博客

统计

Jmeter性能测试-最终篇:把jtl转换成html报告,报告解读

2021-12-24
/
19 评论
/
922 阅读
/
正在检测是否收录...
12/24

最终篇:把jtl转换成html报告,在进阶篇中,我们已经拿到了最终的jtl文件,为了让其他人观看,不可能让他人下载jmeter来看吧,所以我们本章将jtl转换成html。

准备文件:jtl文件

执行命令:
cd 到jmeter/bin文件夹
jmeter -g **.jtl -e -o html

**代表的是路径,html是文件夹(注意:文件夹要为空)。
当然还有别的方式,但是都不需要,会最常用的一种就行了。

HTML报告解读:

1、Dashboard(概述面板)

(1)Test and Report informations(测试和报告信息)

Source file ---- 生成报告的源文件

Start Time ---- 开始时间

End Time ---- 结束时间

(2)APDEX (应用性能指标),计算每笔交易APDEX的容忍和满足阈值基于可配置的值,范围在 0-1 之间,1表示达到所有用户均满意。

Apdex:应用程序性能指标(0~1),1表示所有用户请求均满意,反之0则表示均不满意
T(Toleration threshold):可接受(容忍或满意)阈值,即用户可接受的响应时间
F(Frustration threshold):不可接受(失败)阈值,即用户不可接受响应时间
Lable:采样器名称

T和F两值可以在配置文件中找到,具体参见以下第三条 配置测试报告。

(3)Requests Summary(请求总结),成功与失败的请求占比,KO指失败率,OK指成功率

(4)statistics(数据分析),类似于jmeter聚合报告

Label:Sample采样器名称
Samples:总共发送请求数(线程数 * 循环次数)
KO:失败次数
Error%:请求失败率
Average:平均响应时间
Min:最小响应时间
Max:最大响应时间
90%Line:90%线,90%用户响应不超过该时间
95%Line:95%线,95%用户响应不超过该时间
99%Line:99%线,99%用户响应不超过该时间
Throughput:吞吐量,一般情况下可看做每秒完成请求数(和QPS类似)
Received:每秒从服务器端接收到的数据量
Sent:每秒从客户端发送的请求的数量

(5)Errors(错误情况)

主要就是统计请求出现错误

(6)Top 5 Errors by sampler(采样器的5大错误)

主要是统计TOP5发生错误的采样器信息,这里如果全部通过,就不会有统计。

2、Chart(图表)

包括Over Time(时间变化) 、Throughput(吞吐量) 、Response Times(响应时间)

(1)Over Time

1)Response Times Over Time(响应时间变化曲线),类似于JMeter Plugins上的jp@gc - Response Times Over Time

Response Times Over Time,即响应时间随时间变化趋势。由于应用需要初始化建立连接以及CPU、内存等分配都会消耗资源,随着系统趋于稳定,响应时间也会趋于稳定。

2)Response Time Percentiles Over Time (successful responses) (成功响应时间百分比),类似于jmeter聚合报告中的Min、Max、90%、95%、99%

3)Active Threads Over Time(活动线程时间变化曲线图),随着时间变化,每个时间节点上的活动线程数

活跃线程变化趋势,即并发用户数趋势。相当于我们模拟的并发用户发出请求随着时间变化的趋势。

4)Bytes Throughput Over Time(字节吞吐量时间变化曲线图),蓝色为每秒发送字节数,黄色为每秒接收字节数

5)Latencies Over Time(延迟时间曲线图),记录的是客户端发送请求完成后,服务器端返回请求之前的这段时间,在高并发场景或者业务强数据一致性场景,延时是个很严重的影响因素

6)Connect Time Over Time(连接时间变化曲线图),随着时间变化,每个时间节点花费在连接上的平均时间

(2)Throughput(吞吐量)

包括如下图内容:

1)Hits Per Second(每秒点击率),类似于JMeter Plugins上的jp@gc - Hits per Second

也叫每秒请求数

2)Codes Per Second(每秒状态码数量)

即每秒响应状态码数量,这里主要是对200响应成功的状态码进行记录统计。

3)Transactions Per Second(每秒事务数),即TPS,是性能测试中很重要的一个指标,它是用来衡量系统处理能力的一个重要指标,类似于JMeter Plugins上的jp@gc - Transactions per Second

如果没有开启事务,那么TPS也可看做QPS

4)Total Transactions Per Second(每秒总事务数)

5)Response Time Vs Request(响应时间点请求的成功或失败数)

即响应时间和请求数对比关系,如果请求数量太小就只有一些散点。

6)Latency Vs Request(延迟时间点请求的成功或失败数)

(3)Response Times(响应时间)

包括如下图所示

1)Response Time Percentiles(响应时间百分比)

响应时间百分比,通过之前压测数据中所有响应时间统计分析所展示的。可以更详细看出自己所需要了解的百分线用户的响应时间。

2)Response Time Overview(响应时间概述)

响应时间概述,仔细看下面这种图不难发现,横坐标所绘制的区间和我们最开始看到的APDEX应用程序性能指数中划分的区间一致。

3)Time Vs Threads(平均响应时间和线程数的对应变化曲线)

即活跃线程数和响应时间对比关系,这块如果请求数据较少的话就会造成结果不是十分明显。

4)Response Time Distribution(响应时间分布)

配置测试报告

配置可容忍阈值:
打开jmeter/bin/reportgenerator.properties
定义采样点粒度(overall_granularity):
通过我们测试过程中,需要更小的粒度,如2秒,也可以在文档末性加上jmeter.reportgenerator.overall_granularity=2000;

注意:基本配置都是以jmeter.reportgenerator.为前缀的
定义报告的标题(report_title)
定义Apdex评估中满意的阈值(单位ms)(apdex_satisfied_threshold)
定义Apdex评估中可容忍的阈值(apdex_tolerated_threshold)

性能jmeter
朗读
赞(1)
版权属于:

Misty rain的博客

本文链接:

http://101.42.223.25/index.php/archives/107/(转载时请注明本文出处及文章链接)

评论 (19)
  1. 1 作者
    Windows 10 · Google Chrome

    555

    2022-04-28 回复
  2. 1 作者
    Windows 10 · Google Chrome

    555

    2022-04-28 回复
  3. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  4. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  5. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  6. 1 作者
    Windows 10 · Google Chrome

    response.write(9071268*9163691)

    2022-04-28 回复
  7. 1 作者
    Windows 10 · Google Chrome

    '+response.write(9071268*9163691)+'

    2022-04-28 回复
  8. 1 作者
    Windows 10 · Google Chrome

    "+response.write(9071268*9163691)+"

    2022-04-28 回复
  9. 1 waitfor delay '0:0:15' -- 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  10. @@oLdg9 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  11. 1 作者
    Windows 10 · Google Chrome

    1

    2022-04-28 回复
  12. 1 作者
    Windows 10 · Google Chrome

    (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/

    2022-04-28 回复
  13. 1 作者
    Windows 10 · Google Chrome

    -5 OR 246=(SELECT 246 FROM PG_SLEEP(15))--

    2022-04-28 回复
  14. 1 作者
    Windows 10 · Google Chrome

    0Rj9O5Gs')) OR 570=(SELECT 570 FROM PG_SLEEP(15))--

    2022-04-28 回复
  15. 1 作者
    Windows 10 · Google Chrome

    if(now()=sysdate(),sleep(15),0)

    2022-04-28 回复
  16. 1 作者
    Windows 10 · Google Chrome

    -1); waitfor delay '0:0:15' --

    2022-04-28 回复
  17. 1 作者
    Windows 10 · Google Chrome

    -1)) OR 58=(SELECT 58 FROM PG_SLEEP(15))--

    2022-04-28 回复
  18. 1 作者
    Windows 10 · Google Chrome

    1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)

    2022-04-28 回复
  19. 1 作者
    Windows 10 · Google Chrome

    1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)

    2022-04-28 回复

备案号: 浙ICP备2021040483号