菜鸟的性能测试之路(四)——Jmeter生成性能报告

接上次我利用了Jmeter做完压测之后,现在我就要把它自动生成一个HTML的性能报告了。

由于性能测试测的是性能,所以此处建议使用命令行,而不是图形界面。用命令行界面的优势有如下几点:

1.图形界面消耗的资源比命令行界面大得多;

2.命令行界面可以用于测试大型负载的性能测试;

3.可以部署在持续集成的CI工具,例如jenkins。

埋坑与填坑之路

于是我就开启了jmeter非GUI的暴走模式,刚开始到处碰壁,下面就把遇到的问题和解决办法分享给大家。

首先用cmd打开windows的命令行窗口, cd切换到jmeter bin所在的目录。因为我的Jmeter是放在了D盘的D:\Program Files (x86), 所以我的是 D:\Program Files (x86)\apache-jmeter-3.0\bin 。

接着运行 jmeter -n -t D:\Program Files (x86)\apache-jmeter-3.0\result\Test.jmx -l D:\Program Files (x86)\apache-jmeter-3.0\result\demo.csv

其中   -n 表示运行jmeter非GUI,如果直接jmeter 回车,就会打开GUI界面。

          -t 指定的脚本文件及其路径。

          -l 输出结果指定的路径,默认是输出到bin目录下的jmeter.log


接下来让人抓狂的事情发生了:报错An error occured:Unknown arg

@#@¥#¥%……¥¥……¥……¥¥&¥%#%¥……¥&¥……¥……¥&¥¥……&(内心戏:OMG, what happen? What's wrong?)

由于我有python的编程经验,其中python对于缩进有严格的限制,我就猜想,会不会是我的路径有问题?

D:\Program Files (x86)\apache-jmeter-3.0\result\Test.jmx  (问题其实就在这里)

命令行界面对于空格也有一定的规则,我路径错误就在于Program Files (x86)这个文件夹名称存在空格。

所以解决方法是把我的jmeter直接移动到根目录,变成D:\apache-jmeter-3.0

当然我也可以把Program Files(X86)中的空格去掉,但是我不会这么做,因为这个文件夹下面装了好多东西。

OK,这次接着采用我上次用过的百度测试的jmx脚本来调试,再次运行命令,jmeter -n -t D:\apache-jmeter-3.0\testFile\testBaidu.jmx -l D:\apache-jmeter-3.0\testFile\csvlog.log -e -o D:\apache-jmeter-3.0\testFile\Report


运行界面

yes, success!

正确的指令打开方式

jmeter –n –t <jmx filepath> -l <csv log path>  -e –o <report folder path>

-n: 非GUI模式执行JMeter

-t: 执行测试文件所在的位置

-l: 指定生成测试结果的保存文件,jtl文件格式

-e: 测试结束后,生成测试报告

-o: 指定测试报告的存放位置

该方式的输入,为JMX file path,另外两个参数(CSV log和report folder)皆为输出。

需要注意的是,csv log不能在report folder下,否则将报类似csv log is not empty之类的错误。

输出的CSV文件如下(百度测试为例):


CSV文件

报告展示

报告生成完毕后,目录结构如下:


Report folder


Dashboard


Test and Report Information

列出csv log文件名,已经报告生成所花费的时间(起始时间,结束时间)。

APDEX

应用程序性能指标。

Apdex:性能结果,范围0-1,1表示满意。

T:满意阈值,小于或等于该值,表示满意。

F:失败阈值,大于或等于该值,表示不满意。

处于T与F之间,表示可容忍。


Requests Summary

所有Request的成功比例,OK表示成功,KO表示不成功。

Statistics

数据分析。

Samples:线程数量

KO:失败数量

Error:失败率

Average:平均耗时

Min:最小耗时

Max:最长耗时

90th/95th/99thpct:90%、95%、99%的线程耗时

Throughput:每秒钟发送的请求数量

Received:接收网络响应耗时

Sent:发送网络请求耗时


Errors

会给出所有的错误原因。


OverTime

(1) Response Time Over Time

随时间变化,每个时间节点上的线程平均响应时间


(2) Bytes Throughput Over Time



(3) Latencies Over Time

随时间变化,每个时间节点上的平均响应延时。




Thoughput

(1) Hits Per Second (excluding embedded resources)

每秒钟向服务器发送的请求数量。


(2) Codes Per Second (excluding embedded resources)

每秒钟服务器返回的ResponseCode数量。


(3) Transactions Per Second

服务器每秒钟处理的事务数量。


(4) ResponseTime Vs Request

每秒发送多少个请求时,所对应的平均响应时间。


(5) LatencyVs Request

每秒发送多少个请求时,所对应的平均延时。


Response Times

(1) ResponseTime Percentiles

响应时间与百分比的对应关系,即有百分之多少的线程花费了某一响应时间。


(2)  Active Threads Over Time



(3) TimeVs Threads

N个活动线程情况下的平均响应时间。


(4) Response TimeDistribution

在某一响应时间段内的线程响应数量。



报告详情可以参考:JMeter-Generating Dashboard

最后还有一点要注意的是,每次启动命令之前,report的文件夹内容必须和 jtl 文件一起清空。



读更多的好书,拍更美的照片,写更酷的代码,遇见更有趣的人,愿望是实现从IT菜鸟到全栈工程师的蜕变。

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

推荐阅读更多精彩内容