您现在的位置是:首页 > 正文

jmeter结果合并_JMeter:生成多维度的HTML报告

2024-02-01 01:14:15阅读 2

作者:wang.lan

摘要:本篇文章主要讲解jmeter性能测试工具在生成测试报告方面一直有所欠缺,但是JMeter在3.0以后解决了这个问题.JMeter3.0以后引入了Dashboard Report,用于生成HTML页面格式图形化报告的扩展模块,但是请大家注意一个问题JMeter3.0直接生成报告会出现中文乱码,建议大家使用3.1之后的版本,我这里使用的是5.1.1。

一、前提

1、将已调试成功的xxx.jmx格式的脚本放在桌面自定义文件夹lamw中

2、存放html报告的目录的名称不可重复

二、方法一

使用windows机器压测的同时直接生成html报告

1、输入dos命令语句

(1)在dos命令输入:

cd C:\Users\Administrator\Desktop\lamw

(2)继续在dos输入:(生成.jtl或者.csv任一种格式的压测报告即可)

D:\apache-jmeter-5.1.1\bin\jmeter.bat -n -t xiaochuang.jmx -l test_report_01.jtl -e -o test_report_01

D:\apache-jmeter-5.1.1\bin\jmeter.bat -n -t xiaochuang.jmx -l test_report_01.csv -e -o test_report_01

参数解释:

-n :以非GUI形式运行Jmeter

-t :source.jmx 脚本路径

-l :result.jtl 运行结果保存路径(.jtl),此文件必须不存在

-e :在脚本运行结束后生成html报告

-o :用于存放html报告的目录

2、运行并生成测试报告

运行10个线程压测2分钟,运行过程如下:

3、查看html测试报告

在test_report_01文件夹中找到index.html,然后点击用浏览器打开(建议使用谷歌、火狐、IE会有版本不兼容情况)如图所示:

三、方法二

使用使用已经生成的.jtl格式结果,生成html报告

1、执行dos命令语句

先定位到D:\apache-jmeter-5.1.1\bin下,执行如下命令:

jmeter –g C:\Users\Administrator\Desktop\lamw\test123.jtl -o C:\Users\Administrator\Desktop\lamw\test_report_01

参数解释:

-g : result.jtl 已经存在的.jtl文件的路径。

-o :用于存放html报告的目录

2、查看html测试报告

在test_report_01文件夹中找到index.html,然后点击用浏览器打开(建议使用谷歌、火狐、IE会有版本不兼容情况)

四、报告结果分析:

这个报告总体分为两部分:Dashboard和Charts

1、Dashboard部分-概览仪表盘

(1)Test and Report informations:

(2)APDEX(Application Performance Index): Apdex 标准从用户的角度出发,将对应用响应时间的表现,转为用户对于应用性能的可量化为范围为 0-1 的满意度评价(既0 代表没有满意用户,1则代表所有用户都满意)。

备注:T 值在 OneAPM 中叫做 apdex_t,在 oneapm 配置文件中配置。单位是秒。

(3)Requests Summary: 请求的通过率(OK)与失败率(KO),百分比显示。

(4)Statistics: 数据分析,基本将 Summary Report 和 Aggrerate Report 的结果合并(类似于jmeter的聚合报告)

汇总:

此时测试场景:50 vuser,压测2分钟。我们从Apdex、Requests Summary、Statistics这三部分的数据可以看出,登录页面、打开页面的满意度很低仅0.03、0.18,未达到用户满意度,打开页面99%用户请求的时间约12.73秒,登录页面99%用户请求的时间约为6.04秒,根据响应时间2-5-8原则,此次测试结果显示在打开页面环节请求时间过长不能满足性能测试的需求,登录页面响应速度相对缓慢,需与开发人员沟通协商进行打开页面、登录页面的优化。

2、Charts部分-详细信息图表

主要是通过图表的形式对第一部分的数据分析结果表的进行分析(相当于jmeter中聚合报告表用图形来展示)通过图表形式更加清楚的看到每个时间点的具体响应时间。

Charts里如图所示分为三大块:时间维度信息(Over Time)、吞吐量(Thorughput)、响应时间(Response Times) 我们可以根据实际测试中需要关注的主要数据来查看对应的图表信息,主要有请求的响应时间、成功请求的响应时间、吞吐量、响应延时、每秒事物数、平均响应时间等

(1) Over Time

a、 Response Times Over Time(响应时间变化曲线)可以根据响应时间和变化和TPS以及模拟的并发数变化,判断性能拐点的范围。

根据详细图表可以看出打开页面、登录页面在不同时间段的平均响应时间

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

根据详细图表可以看出99%的请求在不同时间段的响应时间

c、Bytes Throughput Over Time(字节吞吐量时间变化曲线图)单位是byte,在容量规划、可用性测试和大文件上传下载场景中,吞吐量是很重要的一个监控和分析指标,蓝色为每秒发送字节数,黄色为每秒接收字节数。

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

(2)Throughput

Transactions Per Second (每秒事务数)即TPS,是性能测试中很重要的一个指标,它是用来衡量系统处理能力的一个重要指标。

(3)Response Times

a、Response Time Percentiles(响应时间百分比)即响应时间在某个范围内的请求在所有请求数中所占的比率,相比于平均响应时间,这个值更适合用来衡量系统的稳定性。

b、Time Vs Threads(平均响应时间和线程数的对应变化曲线)可以通过这个对应的变化曲线来作为确定性能拐点的一个参考值。

网站文章

  • HystrixRPC保护的原理,HystrixCommand命令的执行方法

    HystrixRPC保护的原理,HystrixCommand命令的执行方法

    HystrixCommand命令的执行方法 前面讲到,独立使用HystrixCommand命令主要有以下两个步骤: (1)继承HystrixCommand类,将正常的业务逻辑实现在继承的run方法中,...

    2024-02-01 01:14:09
  • SpringBoot配置

    SpringBoot配置

    配置文件分类Spring boot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者 application.ym...

    2024-02-01 01:14:00
  • 【设计模式】桥接模式

    【设计模式】桥接模式

    设计模式大总结 桥梁模式是对象的结构模式。又称为柄体(Handle and Body)模式或接口(Interface)模式。桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化”。一。简解桥接模式顾名思义,是在两个模块间搭的一个桥,这两个模块就是抽象化和实现 抽象由抽象类或者接口声明的,作为一类类的抽象 实现则是继承抽象类或者

    2024-02-01 01:13:32
  • Android中根据手机的分辨率dp和px之间的转换

    public class UnitUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dp2px(Context context, float dpValue) { final float scale = context.getResources().getDisplay...

    2024-02-01 01:13:24
  • 理解KMP算法

    理解KMP算法

    KMP算法用于字符串模式匹配,目标串T=[T1.....Tn],模式串P=[P1....Pm],这里n>=m,i代表T的索引指针,j代表P的索引指针,传统字符串匹配算法,在Ti!=Pj的时候,i指针需要回退到i-j的位置,同时j回退到0,也就是模式串P开始的位置,这样传统算法的匹配过程的复杂度就是O(m*n)。其实在Ti!=Pj的时候,i指针不需要回退,[Ti-j+1...Ti-1]和[P1...

    2024-02-01 01:13:16
  • 微电子学与计算机期刊2019,微电子与通信工程学院研究生两篇论文被人工智能顶级会议AAAI 2019接收...

    微电子学与计算机期刊2019,微电子与通信工程学院研究生两篇论文被人工智能顶级会议AAAI 2019接收...

    近日,微电子与通信工程学院研究生有两篇文章被国际人工智能领域顶级学术会议AAAI 2019(AAAI Conference on Artificial Intelligence 2019)录用。AAA...

    2024-02-01 01:12:50
  • linux get current thread count and system threads limit

    get current thread count grep -s '^Threads' /proc/[0-9]*/status | awk '{ sum += $2; } END { print sum; }'get the system thread limitcat /proc/sys/kernel/threads-max转载于:https://www.cnblogs.com/l...

    2024-02-01 01:12:37
  • Linux实战操作

    Linux实战操作

    LinuxLinux目录一、pandas是什么?二、使用步骤1.引入库2.读入数据总结Linux目录登录系统后,在当前命令窗口下输入命令:查看linux目录ls / 或 ll /bin->user/...

    2024-02-01 01:12:30
  • vue3.0 store抽离,模块导入

    store/index.js import Vue from 'vue' import Vuex from 'vuex' import getters from &#3...

    2024-02-01 01:12:02
  • 适合初学者!超详细的vscode的C++自定义头文件的配置! 热门推荐

    适合初学者!超详细的vscode的C++自定义头文件的配置! 热门推荐

    vscode的环境下,C++自定义头文件的解决方法!

    2024-02-01 01:11:55