Jmeter的Html报告汉化及解析

经常有人提出Jmeter生成的html报告都是英文的看不懂,能不能给解释一下,一般提出这种问题的人要么是懒,要么是对性能测试不是很了解(隔行如隔山嘛,可以理解)。所以我专门整理了Jmeter报告的汉化模板,有兴趣的可以下载。当然不可能所有的内容都汉化,所以以下我会对各项指标再做一下说明。

一、html模板汉化

专门准备了Jmeter 4.x 和Jmeter5.x 两套汉化模板:https://gitee.com/smooth00/jmeter-cn-report-template

       使用方法也简单,下载我给的模板,将report-template目录替换apache-jmeter-x.x\bin\report-template目录即可,新生成的报告就被汉化了。汉化后的效果:

 二、测试报告解析

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(响应时间分布)

        到此汉化的报告展示和解析完成, 可以看到,通过HTML可视化报告我们能够更加清晰、详细地了解到整个压测过程中应用性能指标的变化以及相应的数据统计分析。我们可以通过报告中给我们呈现的结果,对应用服务进行针对性的优化,让我们的服务更加稳固并且提供更好的体验。

三、配置测试报告

       从JMeter3.0开始在bin目录就有reportgenerator.properties文件,保存了所有关于图形化HTML报告生成模块的默认配置,要变更配置,建议不要直接编辑该文件,而是推荐在user.properties中去配置和覆盖。

      1、user.properties中配置,基本配置都是以jmeter.reportgenerator.为前缀的

      (1)定义采样点粒度(overall_granularity)

  user.properties中overall_granularity(采样点粒度)默认为60000ms,如下图

通过我们测试过程中,需要更小的粒度,如2秒,所以在上图中将60000修改为2000,也可以在文档末性加上jmeter.reportgenerator.overall_granularity=2000;

注意:基本配置都是以jmeter.reportgenerator.为前缀的 

     (2)定义报告的标题(report_title)

     (3)定义Apdex评估中满意的阈值(单位ms)(apdex_satisfied_threshold)

     (4)定义Apdex评估中可容忍的阈值(apdex_tolerated_threshold)

     (5)修改响应时间的百分比

      jmeter.properties中,有三个默认的响应时间的百分比:

      如果需要修改这三个默认值,可以在user.properties文档末尾加上这三个字段名称,并重新赋值

      2、关于html报告模板

      JMeter的HTML报告生成时是使用了固定的模板,模板文件路径为./bin/report-template,进入该目录可以看到报告的每个

页面都有一个.fmkr模板文件,包括index.html.fmkr和./content/pages路径下的几个文件,可以利用这几个文件,修改对应的名称。

html报告的页面标题默认为Apache JMeter Dashboard,如果想改为这个页面标题,可以通过user.properties中的jmeter.reportgenerator.report_title来修改,通过这种方式来修改,那改变的是所有的页面标题;

模板的其他内容修改,就直接参考我的git上的汉化了:

https://gitee.com/smooth00/jmeter-cn-report-template/tree/master/jmeter4.x-cn-report-template-master/report-template

到此结束,感谢的话就不用说了,如果觉得好,收藏并关注我的博客 https://smooth.blog.csdn.net/ 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271