`

jmeter经过分析

阅读更多

当我们拿到了jmeter测试结果之后,我们应该如何去看待它们呢?它们又是怎么来的呢?

一、Listener的使用

用过LoadRunner的人应该都知道,LoadRunner会为我们提供一大堆图标和曲线。但是在Jmeter里,我们只能找到几个可怜的Listener来方便我们查看测试结果。但是,对于初学者来说,一些简单的结果分析工具可以使我们更容易理解性能测试结果的分析原理。所以,千万别小看这几个简单的Listener啊。

A.Aggregate Report 聚合报告

 

我们可以看到,通过这份报告我们就可以得到通常意义上性能测试所最关心的几个结果了。

Samples -- 本次场景中一共完成了多少个Transaction

Average -- 平均响应时间

Median -- 统计意义上面的响应时间的中值

90% Line -- 所有transaction中90%的transaction的响应时间都小于xx

Min -- 最小响应时间

Max -- 最大响应时间

PS: 以上时间的单位均为ms

Error -- 出错率

Troughput -- 吞吐量,单位:transaction/sec

KB/sec -- 以流量做衡量的吞吐量

B.View Results Tree 以树状列表查看结果

 

通过这个Listener,我们可以看到很详细的每个transaction它所返回的结果,其中红色是指出错的transaction,绿色则为通过的。

如果你测试的场景会有很多的transaction完成,建议在这个Listener中仅记录出错的transaction就可以了。要做到这样,你只需要将Log/Display:中的Errors勾中就可以了。

二、.jtl文件的分析

在性能测试过程中,我们往往需要将测试结果保存在一个文件当中,这样既可以保存测试结果,也可以为日后的性能测试报告提供更多的素材。

Jmeter中,结果都存放在.jtl文件。这个.jtl文件可以提供多种格式的编写,而一般我们都是将其以csv文件格式记录,这样做是因为csv文件格式看起来比较方便,更重要的是这样做可以为二次分析提供很多便利。

我这里所说的二次分析是指除了使用Listener之外,我们还可以对.jtl文件进行再次分析。

a.设置jtl文件格式

我们从jmeter官方网站中下载下来的Jmeter解压后是可以直接使用的。但是,使用默认配置生成的jtl文件内容并不能满足我们的需要。于是我们必须进行必要的设置。在2.2版本中,如果要修改jtl设置必须要到jmeter.properties文件中设置;但是在2.3版本中,我们只需要在界面上设置就可以了。你只需要选择某个Listener,点击页面中的configure按钮。此时,一个设置界面就会弹出来,建议多勾选如下项:Save Field Name,Save Assertion Failure Message。

b.jtl文件中的各项

经过了以上设置,此时保存下来的jtl文件会有如下项:

timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,Latency

请求发出的绝对时间,响应时间,请求的标签,返回码,返回消息,请求所属的线程,数据类型,是否成功,失败信息,字节,响应时间

其中聚合报告中的,吞吐量=完成的transaction数/完成这些transaction数所需要的时间;平均响应时间=所有响应时间的总和/完成的transaction数;失败率=失败的个数/transaction数

温馨提示:在jmeter2.2和2.3版本中,都存在的一个问题是当我们重新打开jmeter,使用某个Listener来查看jtl文件时,jmeter是会报错的。因此当你使用命令行方式完成了一个场景的测试后,你得到的只是一堆保存在jtl文件中的原始数据。所以知道聚合报告中的各项的来源是可以方便大家摆脱测试工具来进行结果的分析。

总的来说,对于jmeter的结果分析,主要就是对jtl文件中原始数据的整理,我是使用一些小脚本进行相关的分析的,不知道你打算怎么做呢?

反正实践后,你总能找到一条属于自己的数据分析之路。

测试结果的分析说明

说明:

Label:每个 JMeter 的 element (例如 HTTP Request )都有一个 Name 属性,这里显示的就是 Name 属性的值

#Samples:表示你这次测试中一共发出了多少个请求,我的测试计划模拟 10 个用户,每个用户迭代 10 次,因此这里显示 100

Average:平均响应时间 —— 默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以 Transaction 为单位显示平均响应时间

Median:中位数,也就是 50 %用户的响应时间

90% Line: 90 %用户的响应时间

Min: 最小响应时间

Max: 最大响应时间

Error%:本次测试中出现错误的请求的数量 / 请求的总数

[NextPage]

Throughput:吞吐量 —— 默认情况下表示每秒完成的请求数( Request per Second ),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数

KB/Sec:每秒从服务器端接收到的数据量,相当于 LoadRunner 中的 Throughput/Sec

我分别模拟10、25、50、75和100个用户并发访问该页面,根据报告所得测试结果作出如下统计。注:时间单位是ms

 

用户数 #Samples Average Median 90%Line Min Max Error% Throughput KB/Sec

10 642 672 688 125 125 719 00.0 14.8/sec 221.15

25 250 1620 1687 1750 250 1781 00.0 14.5/sec 217.14

50 500 3319 3438 3578 281 3657 00.0 14.2/sec 212.02

75 750 4887 5109 5584 328 7094 00.0 14.5/sec 216.67

100 1000 6244 6485 6672 250 6844 00.0 15.1/sec 225.43

一般情况下,当用户能够在2秒以内得到响应时,会感觉系统的响应很快;当用户在2-5秒之间得到响应时,会感觉系统的响应速度还可以;当用户在5-10秒以内得到响应时,会感觉系统的响应速度很慢,但是还可以接受;而当用户在超过10秒后仍然无法得到响应时,会感觉系统糟透了,或者认为系统已经失去响应,而选择离开这个Web站点,或者发起第二次请求。故该系统的用户信息查询信息页面的在10到25人并发访问时,系统响应速度很快,25人到50人并发访问时速度还可以,50人到100人并发访问就比较慢了。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiaojianpitt/archive/2009/11/17/4821554.aspx

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    rip宣告网段选择版本

    rip宣告网段选择版本

    基于springboot+vue的学生选课系统(Java毕业设计,附源码,部署教程).zip

    该项目包含完整的前后端代码、数据库脚本和相关工具,简单部署即可运行。功能完善、界面美观、操作简单,具有很高的实际应用价值,非常适合作为Java毕业设计或Java课程设计使用。 所有项目均经过严格调试,确保可运行!下载后即可快速部署和使用。 1 适用场景: 毕业设计 期末大作业 课程设计 2 项目特点: 代码完整:详细代码注释,适合新手学习和使用 功能强大:涵盖常见的核心功能,满足大部分课程设计需求 部署简单:有基础的人,只需按照教程操作,轻松完成本地或服务器部署 高质量代码:经过严格测试,确保无错误,稳定运行 3 技术栈和工具 前端:HTML + Vue.js 后端框架:Spring Boot 开发环境:IntelliJ IDEA 数据库:MySQL(建议使用 5.7 版本,更稳定) 数据库可视化工具:Navicat 部署环境:Tomcat(推荐 7.x 或 8.x 版本),Maven

    基于BP神经网络的电力负荷预测-基于BP神经网络的短期电力负荷预测源码

    基于BP神经网络的电力负荷预测-基于BP神经网络的短期电力负荷预测源码,本资源中的源码都是经过本地编译过可运行的,评审分达到98分,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、期末大作业和课程设计使用需求,如果有需要的话可以放心下载使用。 基于BP神经网络的电力负荷预测-基于BP神经网络的短期电力负荷预测源码基于BP神经网络的电力负荷预测-基于BP神经网络的短期电力负荷预测源码基于BP神经网络的电力负荷预测-基于BP神经网络的短期电力负荷预测源码基于BP神经网络的电力负荷预测-基于BP神经网络的短期电力负荷预测源码基于BP神经网络的电力负荷预测-基于BP神经网络的短期电力负荷预测源码基于BP神经网络的电力负荷预测-基于BP神经网络的短期电力负荷预测源码基于BP神经网络的电力负荷预测-基于BP神经网络的短期电力负荷预测源码基于BP神经网络的电力负荷预测-基于BP神经网络的短期电力负荷预测源码基于BP神经网络的电力负荷预测-基于BP神经网络的短期电力负荷预测源码基于BP神经网络的电力负荷预测-基于BP神经网络的短期电力负荷预测源码基于BP神经网络的电力负荷预测-基

    基于springboot+vue的常规应急物资管理系统(Java毕业设计,附源码,部署教程).zip

    该项目包含完整的前后端代码、数据库脚本和相关工具,简单部署即可运行。功能完善、界面美观、操作简单,具有很高的实际应用价值,非常适合作为Java毕业设计或Java课程设计使用。 所有项目均经过严格调试,确保可运行!下载后即可快速部署和使用。 1 适用场景: 毕业设计 期末大作业 课程设计 2 项目特点: 代码完整:详细代码注释,适合新手学习和使用 功能强大:涵盖常见的核心功能,满足大部分课程设计需求 部署简单:有基础的人,只需按照教程操作,轻松完成本地或服务器部署 高质量代码:经过严格测试,确保无错误,稳定运行 3 技术栈和工具 前端:HTML + Vue.js 后端框架:Spring Boot 开发环境:IntelliJ IDEA 数据库:MySQL(建议使用 5.7 版本,更稳定) 数据库可视化工具:Navicat 部署环境:Tomcat(推荐 7.x 或 8.x 版本),Maven

    网站系统渗透测试报告.doc

    渗透测试报告模板,供大家参考如何写报告

    I型NPC三电平逆变器 仿真 有三相逆变器参数设计,SVPWM,直流均压控制,双闭环控制说明文档(可加好友另算) SVPWM调制 中点电位平衡控制,LCL型滤波器 直流电压1200V,交流侧输出线电

    I型NPC三电平逆变器 仿真 有三相逆变器参数设计,SVPWM,直流均压控制,双闭环控制说明文档(可加好友另算) SVPWM调制 中点电位平衡控制,LCL型滤波器 直流电压1200V,交流侧输出线电压有效值800V,波形标准,谐波含量低。 采用直流均压控制,中点电位平衡控制,直流侧支撑电容两端电压偏移在0.3V之内,性能优越。 参数均可自行调整,适用于所有参数条件下,可用于进一步开发

    燕山大学EDA综合实训实验报告.doc

    燕山大学EDA综合实训实验报告

    一个基于qt实现钩子屏蔽系统按键、任务管理器、任务栏实例

    qt 一个基于qt实现钩子屏蔽系统按键、任务管理器、任务栏实例. 一个基于qt实现钩子屏蔽系统按键、任务管理器、任务栏实例.

    headers-more-nginx-module-v0.34.tar.gz 下载 headers-more-nginx-module是Nginx的第三方模块,它提供了一些额外的功能,用于设置HTTP

    headers-more-nginx-module-v0.34.tar.gz 下载 headers-more-nginx-module是Nginx的第三方模块,它提供了一些额外的功能,用于设置HTTP

    牢大防火墙_牢大防火墙.apk

    牢大防火墙_牢大防火墙.apk

    半桥 全桥LLC仿真,谐振变器的四种基本控制方式 主要有 频率控制PFM PWM控制 移相控制PSM 混合控制PFM+PSM 运行环境有plecs matlab simulink

    半桥 全桥LLC仿真,谐振变器的四种基本控制方式。 主要有 频率控制PFM PWM控制 移相控制PSM 混合控制PFM+PSM 运行环境有plecs matlab simulink

    基于51单片机的密码锁设计proteus

    基于51单片机的密码锁设计proteus

    Yakit-1.0.12-sp7-windows-amd64.zip

    Yakit 是一个基于 Yak 语言开发的集成化安全能力平台,旨在为网络安全从业者提供一个易于使用的工具。它通过图形化用户界面(GUI)来操控 Yak 引擎的能力,使得用户无需编写代码即可利用 Yak 的强大安全功能

    里面是本人大学中所完成的 PPT

    里面是本人大学中所完成的 PPT

    【数字信号去噪】基于matlab ANC算法多通道主动噪声控制【含Matlab源码 9963期】.zip

    Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    Artwork Collect网站源代码压缩包

    Artwork Collect网站源代码压缩包

    基于springboot的点餐平台网站lw+ppt

    包含项目论文和毕业答辩PPT,详情请看博客:https://blog.csdn.net/2401_87429224/article/details/144995193 论文主要包括以下内容: 1、中英文摘要; 2、目录; 3、绪论,包括背景、意义、开发工具、国内外现状等; 4、系统分析,包括可行性分析、设计原则、需求分析、业务流程分析等; 5、系统设计,包括功能设计、数据库设计等; 6、系统实现,包括各模块实现; 7、软件测试,包括测试环境、测试条件、运行情况等。

    Android天气预报APP

    在Android平台上开发一款天气预报应用是一项常见的任务,它涉及到多个技术层面,包括用户界面设计、数据获取、数据解析以及实时更新等。以下是对这个"较简单的天气预报APP"可能涉及的关键知识点的详细解释: 1. **Android Studio**:作为Android应用开发的主要集成开发环境(IDE),Android Studio提供了丰富的工具来帮助开发者编写、调试和发布应用。它内置了Gradle构建系统,使得项目管理和依赖管理更加方便。 2. **布局设计**:UI设计是天气应用的重要部分,通常会使用XML布局文件来定义各个屏幕的组件和布局。例如,可能包含一个用于显示城市名的TextView,一个用于展示当前温度的ImageView,以及用于显示未来几天预报的RecyclerView。 3. **数据获取**:天气信息通常来自于网络API,如OpenWeatherMap或AccuWeather等。开发者需要编写HTTP请求代码,使用像OkHttp或者Retrofit这样的网络库来获。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    TCP/IP串口透传工具

    一款简单实用的TCP/IP串口透传工具

    基于python+opencv实现的柚子缺陷识别检测源码 (高分项目).zip

    基于python+opencv实现的柚子缺陷识别检测源码 (高分项目).zip,个人大三大作业设计项目、经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 基于python+opencv实现的柚子缺陷识别检测源码 (高分项目).zip基于python+opencv实现的柚子缺陷识别检测源码 (高分项目).zip基于python+opencv实现的柚子缺陷识别检测源码 (高分项目).zip基于python+opencv实现的柚子缺陷识别检测源码 (高分项目).zip基于python+opencv实现的柚子缺陷识别检测源码 (高分项目).zip基于python+opencv实现的柚子缺陷识别检测源码 (高分项目).zip基于python+opencv实现的柚子缺陷识别检测源码 (高分项目).zip基于python+opencv实现的柚子缺陷识别检测源码 (高分项目).zip基于python+opencv实现的柚子缺陷识别检测源码 (高分项目).zip

Global site tag (gtag.js) - Google Analytics