https://www.cnblogs.com/pachongshangdexuebi/p/11759316.html

有时候我们写性能报告的时候需要一些性能分布图,JMeter是可以生成HTML性能报告的。这篇博客,简单介绍下在利用jmeter进行性能测试时,是如何生成HTML的可视化测试报告的

一、准备工作
  1:jmeter3.0版本之后开始支持动态生成测试报表,我用的是jmeter4.0
  2:jdk版本1.7以上
  3:需要jmx脚本文件
二、基本操作步骤
  首先执行cmd命令:进入jmeter的安装目录bin目录里面
  输入命令:jmeter -n -t jmx测试脚本文件存放目录 -l result.jtl -e -o 测试报告的存放文件夹路径
  举个栗子:jmeter -n -t F:\20190722后文件\接口脚本\111.jmx -l result.jtl -e -o F:\20190722后文件\接口脚本\测试报告
  参数说明:
  ● -n: 非GUI模式执行JMeter
  ● -t: 执行测试文件所在的位置
  ● -l: 指定生成测试结果的保存文件,jtl文件格式
  ● -e: 测试结束后,生成测试报告
  ● -o: 指定测试报告的存放位置
  说明:
  输入命令回车即可。每次启动命令之前,测试报告存放文件夹必须清空、 jtl 文件也要删除。

执行之后可看到测试报告文件夹内生成了这些内容

点击index.html文件查看即可

三、报告上图表信息详解

测试报告分为两部分,Dashboard和Charts,下面分开解析。

1、Dashboard(概览仪表盘)

①、Test and Report informations

  • File:测试结果的保存文件名称
  • Start Time:测试开始时间
  • End Time:测试结束时间
  • Filter for display展示过滤器

②、APDEX (应用性能指标)

Application Performance Index,应用程序性能满意度的标准,范围在0-1之间,1表示达到所有用户均满意,越接近1满意度越高

关于APDEX的相关信息,请参考这里:应用性能指标;英文原文,参考这里:Apdex-Wikipedia

③、Requests Summary

请求的通过率(OK)与失败率(KO),百分比显示

④、Statistics

数据分析,基本将Summary Report和Aggrerate Report的结果合并

 ⑤、Errors

错误情况,依据不同的错误类型,将所有错误结果展示

2、Charts

用图表的形式展示测试数据,让测试报告更加直观,主要有如下特点:

  • 将测试过程中经常使用的数据,用图表的形式展示,让测试结果更加直观
  • 每个图表数据,有两种展示形式
  • 支持请求样例过滤显示
  • 支持导出PNG图片格式

Over time

①、Response Times Over Time(脚本运行期间的响应时间变化趋势图)

说明:每秒钟响应时间,X轴表示的是系统运行的时刻,Y轴表示的是响应时间,F(X,Y)表示系统随着时间的推移,系统的响应时间的变化,可以看出响应时间稳定性。

运行期间的响应时间变化趋势图。可以通过看测试期间的响应时间变化推断应用的性能拐点。

②、 Response Time Percentiles Over Time (successful responses)

说明:脚本运行期间成功的请求响应时间百分比分布图,可以理解为聚合报告里面不同%的数据,图形化展示的结果

③、Active Threads Over Time 

说明:运行期间线程数量的变化,如果有多个线程组, 会根据线程组名字进行展示。

④、Bytes Throughput Over Time(脚本运行期间的吞吐量变化趋势图)

说明:在容量规划、可用性测试和大文件上传下载场景中,吞吐量是很重要的一个监控和分析指标。

⑤、Latencies Over Time(脚本运行期间的响应延时变化趋势图)

说明:在高并发场景或者强业务强数据一致性场景,延时是个很严重的影响因素。

⑥、Connect Time Over Time(运行期间连接服务器时间变化。)

Throughput

①、Transactions Per Second(每秒事务数)

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

Response Times

①、 Response Time Percentiles(响应时间百分比分布曲线图)

说明:即响应时间在某个范围内的请求在所有请求数中所占的比率,相比于平均响应时间,这个值更适合用来衡量系统的稳定性。

四、清空jtl文件和测试报告存放路径

  之前考虑过每次执行命令都要先去目录下清空报告文件夹和jtl,还要敲命令,很烦,后来想了一个方法,那就是写一个bat,每次执行bat都自动去清空之前的报告,然后执行命令
  命令如下:
  del  /s /Q D:\软件\apache-jmeter-4.0\bin\result.jtl          删除result.jtl文件
  rd /s /Q D:\软件\apache-jmeter-4.0\bin\HttpReport          删除HttpReport文件夹
  md D:\软件\apache-jmeter-4.0\bin\HttpReport              重建HttpReport文件夹
 

博文参考:

http://www.51testing.com/html/80/n-3724580.html

https://www.cnblogs.com/imyalost/p/10239317.html

[转帖]Jmeter学习笔记(二十三)——生成HTML性能报告的更多相关文章

  1. python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码

    python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...

  2. (C/C++学习笔记) 二十三. 运行时类型识别

    二十三. 运行时类型识别 ● 定义 运行时类型识别(Run-time Type Identification, RTTI) 通过RTTI, 程序能够使用基类的指针或引用来检查(check)这些指针或引 ...

  3. JMeter学习-039-JMeter 3.0 生成 dashboard HTML 报告图表中文乱码

    近期,经常有人问 JMeter 3.0 使用时,生成的 HTML 报告图表中的中文乱码问题.在此,简略的说一下解决的方法. 编码相关信息如下: 1.查看控制 csv.xml 等配置结果文件生成.读取的 ...

  4. Java基础学习笔记二十三 Java核心语法之反射

    类加载器 类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,链接,初始化三步来实现对这个类进行初始化. 加载就是指将class文件读入内存,并为之创建一个Class对象.任 ...

  5. JMeter学习(二十三)关联

    话说LoadRunner有的一些功能,比如:参数化.检查点.集合点.关联,Jmeter也都有这些功能,只是功能可能稍弱一些,今天就关联来讲解一下. JMeter的关联方法有两种:后置处理器-正则表达式 ...

  6. angular学习笔记(二十三)-$http(1)-api

    之前说到的$http.get和$http.post,都是基于$http的快捷方式.下面来说说完整的$http: $http(config) $http接受一个json格式的参数config: conf ...

  7. Jmeter学习笔记(十三)——xpath断言

    1.什么是XPath断言 XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言.XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力. Ap ...

  8. PHP学习笔记二十三【This】

    <?php Class Person { function test1() { $this->test2();//类里面的方法互相调用要加$this } protected functio ...

  9. Java学习笔记二十三:Java的继承初始化顺序

    Java的继承初始化顺序 当使用继承这个特性时,程序是如何执行的: 继承的初始化顺序 1.初始化父类再初始子类 2.先执行初始化对象中属性,再执行构造方法中的初始化 当使用继承这个特性时,程序是如何执 ...

  10. 学习笔记二十三——字符函数库cctype【转】

    本文转载自: 字符函数库cctype 在头文件cctype(ctype.h)中定义了一些函数原型,可以简化输入确定字符是否为大写字母.数字.标点符号等工作. 例如: 如果ch是一个字母,则isalph ...

随机推荐

  1. Spring Batch 的基本使用

    简介 A lightweight, comprehensive batch framework designed to enable the development of robust batch a ...

  2. 万万没想到,我在夜市地摊解决了MySQL临时表空间难题~~

    都说"大隐隐于市,高手在深宫".突如其来的"摆地摊"风潮,让原本冷清的街道热闹非凡,也让众人发现了那些神龙见首不见尾的大神们. 这不,小毛在下班的途中就遇到了大 ...

  3. 云小课|云小课带您快速了解LTS可视化查看

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要: 可视化查看是日志 ...

  4. grpc双向流究竟是什么情况?2段代码告诉你

    摘要:为什么需要grpc双向流? 本文分享自华为云社区<grpc双向流究竟是什么情况?2段代码告诉你>,作者:breakDawn. 为什么需要grpc双向流? 有时候请求调用和返回过程,并 ...

  5. 聊聊数仓中TPCD-DS&TPC-H与查询性能的那些事儿

    摘要:详细讲述使用GaussDB(DWS)时,如何使用TPC-DS/TPC-H等标准数据模型,获取DWS的查询性能数据. 本文分享自华为云社区<GaussDB(DWS) <DWS之TPCD ...

  6. webpack性能优化(2):splitChunks用法详解

    之前写的<webpack性能优化(0):webpack性能优化概况-优化构建速度>.<webpack性能优化(1):分隔/分包/异步加载+组件与路由懒加载> 如果使用vue-c ...

  7. ThreadPoolExecutor 线程执行超时,释放线程

    如果线程中的执行时间过长,导致长时间被占用,可以通过新建一个子线程,来监控主线程的执行超时时间,如果超时了,通过子线程杀掉父线程 (主意,父线程被杀后,子线程还会活着) 子线程杀掉主线程 这个问题其实 ...

  8. Python 基于深度学习的 opencv 车牌识别系统,可以准确识别车牌号

    大家好,我是程序员徐师兄,6 年大厂程序员经验,点击关注我 简介 毕业设计基于Opencv的车牌识别系统 车牌搜索识别找出某个车牌号 对比识别车牌系统 车牌数据库认证系统 车牌图文搜索系统 车牌数据库 ...

  9. anaconda学习(未完成)

    1.Anaconda安装教程(以32.7.4为例)官网地址:https://www.anaconda.com/download(如无法下载可跳转清华源下载)下载完成后点击打开即可安装点击Next选择I ...

  10. Windows 环境下安装与配置 Node.js

    一.下载Node.js安装包 下载地址:http://nodejs.cn/download/ 本教程以msi安装包为例 点击Windows 安装包下载 二.安装Node.js 1.打开安装包 欢迎页: ...