首页 > jmeter分析性能报告时的误区

jmeter分析性能报告时的误区

概述

我们用jmeter做性能测试,必然需要学会分析测试报告。但是初学者常常因为对概念的不清晰,最后被测试报告带到沟里去。

 

常见的误区

  • 分析响应时间全用平均值
  • 响应时间不和吞吐量挂钩
  • 响应时间和吞吐量不和成功率挂钩

。。。。。

 

平均值特别不靠谱

平均值为什么不靠谱?相信大家读新闻的时候经常可以看到,平均工资平均房价平均支出,等等字眼,你就知道为什么平均值不靠谱了。

(这些都是数学游戏)

性能测试也一样,平均数也是不靠谱,推荐一篇详细的文章《Why Averages Suck and Percentiles are Great》

我们做性能测试时,得到的结果数据不会总是一样的,而是波动的。

如果算平均值就会出现这样的情况:测试了10次,有9次是1ms,而有1次是10s,那么平均数据就是1s。

很明显,这完全不能反应性能测试的实际情况,因为那个10s的请求就是一个不正常的值。

另外,中位数(Median)可能会比平均数要稍微靠谱一些,中位数的意就是把将一组数据按大小顺序排列,处在最中间位置的一个数叫做这组数据的中位数 ,这意味着有50%的数据低于或高于这个中位数。

最为正确的统计做法是用百分比分布统计。TP50的意思是50%的响应时间都小于某个值,TP90表示90%的响应时间小于某个值。

我们有一组数据:[ 10ms,  1s, 200ms, 100ms],我们把其从小到大排个序:[10ms, 100ms, 200ms, 1s]。

于是我们知道,TP50,就是50%的请求ceil(4*0.5)=2时间是小于100ms的,TP90就是90%的请求ceil(4*0.9)=4时间小于1s。

于是:TP50就是100ms,TP90就是1s

因此,通常严格一点的响应时间要求是这样的:99%的请求必须小于XXms

 

响应时间务必和吞吐量(Thoughput)挂钩

系统的性能如果只看吞吐量,不看响应时间是没有意义的。

我的系统tps可以达到10000,但是响应时间已经到了20秒钟,这样的系统已经不可用了,吞吐量也是没有意义的。

当负载上升的时候,系统会逐渐变的不稳定,响应时间也会变得越来越慢,波动越来越大,而吞吐率却开始下降,包括CPU的使用率情况也会如此。

所以,当系统变得不稳定的时候,吞吐量已经没有意义了。

 

所以,吞吐量的值必需配合响应时间来看。例如:TP99小于100ms的时候,系统可以承载的最大并发数是1000

 

响应时间吞吐量和成功率要挂钩

应该不难理解,如果请求都是错误的,还做什么性能测试。

比如,我说我的系统并发可以达到10万,但是失败率是50%,那么这10万的并发完全就是一个笑话。

性能测试的失败率的容忍是非常低的。对于一些关键系统,成功率必须在100%

 

转载于:https://www.cnblogs.com/Zfc-Cjk/p/11152360.html

更多相关:

  • 生成分析文件 命令行运行: valgrind --tool=callgrind ./palmGateMachine 检测完毕之后会生成一个文件callgrind.out.26805, 后面的数字其实是这个待测进程的pid 可视化方法 可视化方法 可视化工具 kcachegrind 1、下载地址: https://launchp...

  • MQTT 心跳和keepalive配置 内容: 正常MQTT 服务器端会配置一个超时时间,一般为60s, 在这个时间段内一个连接如果没有数据传输的话,服务端会主动断开连接以释放资源, 有两种方式可以规避这个问题: 方式1: 最为简单, 将keepalive的时间设置小于 服务端的超时时间,则客户端每隔 keepalive的时间就...

  • 原文: https://mp.weixin.qq.com/s/Dns-ucDwuDeR7lNSlibyAA 放假通知   今年7月1日放暑假 9月2日开学   今天,省教育厅发布通知,2019年全省中小学幼儿园暑期放假时间统一为7月1日,秋季开学时间9月2日。2020年寒假放假时间为1月18日,春季开学时间为2月10日。 刚刚...

  • 1. P117页,练习15:最高响应比 HRRF: 作业 提交时刻 运行时刻 开始时刻 完成时刻 周转时间/min 带权周转时间/min 1 10:00 2:00 10:00 12:00 120 120/120 2 10:10 1:00 12:25 13:25 195 195/60 3 1...

  • 蓝牙HC-05与HC-06对比指令集 高电平-》AT命令响应工作状态     低电平-》蓝牙常规工作状态 <重新上电表示完成复位> HC-05 可以主从切换模式,但是HC-06虽然可以做主机也可以做从机,但是不能切换模式 模块进入AT响应状态:波特率:9600 数据位 :8位 停止位:1位 无校验位         ...

  • Intellij IDEA解析jacoco结果文件的方法JaCoCo经常用来分析代码覆盖率,最方便的当然是在Jenkins中集成,能很定时分析代码覆盖率并查看变化情况。如果需要单独查看某一模块中的覆盖率,则可以借助IntelliJ IDEA。一、设置修改用Idea打开对应的项目代码,右上角编辑设置。将代码覆盖的runner修改为jac...

  • 前两天写了一篇关于《阿里Java开发手册中的 1 个bug》的文章,评论区有点炸锅了,基本分为两派,支持老王的和质疑老王的。首先来说,无论是那一方,我都真诚的感谢你们。特别是「二师兄」,本来是打算周五晚上好好休息一下的(周五晚上发布的文章),结果因为和我讨论这个问题,一直搞到晚上 12 点左右,可以看出,他对技术的那份痴迷。这一点我们...

  • 现在的以太网测试仪多数应用于以太网专线及NGN网络,多业务城域网络等各种测试环境。以太网测试仪表提供了强大的分析、统计和处理功能、支持符合IEE802.3标准的10/100/1000Mbps RJ45电口和波长可选的1000Mbps等等,可以用于线缆测试、以太网误码(一、二、三层 )测试、环回时延测试、RFC2544性能测试,支持以监...

  • 在2008年刚刚进入这个行业时,我对于要学什么东西,是迷茫的。记得我在08年的时候,入职的公司给我们这批新人做了培训。培训中介绍了很多概念,告诉我们质量很重要,软件测试前景很好,还教了我们很多软件测试理论知识,在最后还给我们介绍了所谓高大上的自动化测试和性能测试。然而,在之后的三年里,这些当时培训时给我灌输的错误知识,不断地给我职业生...

  • 说明 quic-go是使用Go来重写chromium中的QUIC协议,将来计划过渡到IETF版本的QUIC协议。 目前该协议还处于不断更新和活跃之中,目前IETF版本的QUIC协议草案版本号已经到draft 9 下面是我对REAME的实操记录,以作备忘。 项目主页 https://github.com/lucas-clement...