菜鳥的性能測(cè)試之路(四)——Jmeter生成性能報(bào)告

接上次我利用了Jmeter做完壓測(cè)之后臊诊,現(xiàn)在我就要把它自動(dòng)生成一個(gè)HTML的性能報(bào)告了口芍。

由于性能測(cè)試測(cè)的是性能杖剪,所以此處建議使用命令行,而不是圖形界面拨齐。用命令行界面的優(yōu)勢(shì)有如下幾點(diǎn):

1.圖形界面消耗的資源比命令行界面大得多鳞陨;

2.命令行界面可以用于測(cè)試大型負(fù)載的性能測(cè)試;

3.可以部署在持續(xù)集成的CI工具瞻惋,例如jenkins厦滤。

埋坑與填坑之路

于是我就開啟了jmeter非GUI的暴走模式,剛開始到處碰壁歼狼,下面就把遇到的問(wèn)題和解決辦法分享給大家掏导。

首先用cmd打開windows的命令行窗口, cd切換到j(luò)meter bin所在的目錄羽峰。因?yàn)槲业腏meter是放在了D盤的D:\Program Files (x86)趟咆,?所以我的是 D:\Program Files (x86)\apache-jmeter-3.0\bin 。

接著運(yùn)行 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 表示運(yùn)行jmeter非GUI梅屉,如果直接jmeter?回車值纱,就會(huì)打開GUI界面。

??????????-t?指定的腳本文件及其路徑履植。

??????????-l?輸出結(jié)果指定的路徑计雌,默認(rèn)是輸出到bin目錄下的jmeter.log


接下來(lái)讓人抓狂的事情發(fā)生了:報(bào)錯(cuò)An error occured:Unknown arg

@#@¥#¥%……¥¥……¥……¥¥&¥%#%¥……¥&¥……¥……¥&¥¥……&(內(nèi)心戲:OMG, what happen? What's wrong?)

由于我有python的編程經(jīng)驗(yàn),其中python對(duì)于縮進(jìn)有嚴(yán)格的限制玫霎,我就猜想凿滤,會(huì)不會(huì)是我的路徑有問(wèn)題?

D:\Program Files (x86)\apache-jmeter-3.0\result\Test.jmx? (問(wèn)題其實(shí)就在這里)

命令行界面對(duì)于空格也有一定的規(guī)則庶近,我路徑錯(cuò)誤就在于Program Files (x86)這個(gè)文件夾名稱存在空格翁脆。

所以解決方法是把我的jmeter直接移動(dòng)到根目錄,變成D:\apache-jmeter-3.0

當(dāng)然我也可以把Program Files(X86)中的空格去掉鼻种,但是我不會(huì)這么做反番,因?yàn)檫@個(gè)文件夾下面裝了好多東西。

OK叉钥,這次接著采用我上次用過(guò)的百度測(cè)試的jmx腳本來(lái)調(diào)試罢缸,再次運(yùn)行命令,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


運(yùn)行界面

yes, success!

正確的指令打開方式

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

-n:?非GUI模式執(zhí)行JMeter

-t: 執(zhí)行測(cè)試文件所在的位置

-l: 指定生成測(cè)試結(jié)果的保存文件投队,jtl文件格式

-e: 測(cè)試結(jié)束后枫疆,生成測(cè)試報(bào)告

-o: 指定測(cè)試報(bào)告的存放位置

該方式的輸入,為JMX file path敷鸦,另外兩個(gè)參數(shù)(CSV log和report folder)皆為輸出息楔。

需要注意的是,csv log不能在report folder下扒披,否則將報(bào)類似csv log is not empty之類的錯(cuò)誤值依。

輸出的CSV文件如下(百度測(cè)試為例):


CSV文件

報(bào)告展示

報(bào)告生成完畢后,目錄結(jié)構(gòu)如下:


Report folder


Dashboard


Test and Report Information

列出csv log文件名碟案,已經(jīng)報(bào)告生成所花費(fèi)的時(shí)間(起始時(shí)間愿险,結(jié)束時(shí)間)。

APDEX

應(yīng)用程序性能指標(biāo)价说。

Apdex:性能結(jié)果辆亏,范圍0-1,1表示滿意。

T:滿意閾值熔任,小于或等于該值褒链,表示滿意。

F:失敗閾值疑苔,大于或等于該值甫匹,表示不滿意。

處于T與F之間惦费,表示可容忍兵迅。


Requests Summary

所有Request的成功比例,OK表示成功薪贫,KO表示不成功恍箭。

Statistics

數(shù)據(jù)分析。

Samples:線程數(shù)量

KO:失敗數(shù)量

Error:失敗率

Average:平均耗時(shí)

Min:最小耗時(shí)

Max:最長(zhǎng)耗時(shí)

90th/95th/99thpct:90%瞧省、95%扯夭、99%的線程耗時(shí)

Throughput:每秒鐘發(fā)送的請(qǐng)求數(shù)量

Received:接收網(wǎng)絡(luò)響應(yīng)耗時(shí)

Sent:發(fā)送網(wǎng)絡(luò)請(qǐng)求耗時(shí)


Errors

會(huì)給出所有的錯(cuò)誤原因鳍贾。


OverTime

(1)?Response Time Over Time

隨時(shí)間變化,每個(gè)時(shí)間節(jié)點(diǎn)上的線程平均響應(yīng)時(shí)間


(2)?Bytes Throughput Over Time



(3)?Latencies Over Time

隨時(shí)間變化交洗,每個(gè)時(shí)間節(jié)點(diǎn)上的平均響應(yīng)延時(shí)骑科。




Thoughput

(1)?Hits Per Second (excluding embedded resources)

每秒鐘向服務(wù)器發(fā)送的請(qǐng)求數(shù)量。


(2)?Codes Per Second (excluding embedded resources)

每秒鐘服務(wù)器返回的ResponseCode數(shù)量构拳。


(3)?Transactions Per Second

服務(wù)器每秒鐘處理的事務(wù)數(shù)量咆爽。


(4)?ResponseTime Vs Request

每秒發(fā)送多少個(gè)請(qǐng)求時(shí),所對(duì)應(yīng)的平均響應(yīng)時(shí)間置森。


(5)?LatencyVs Request

每秒發(fā)送多少個(gè)請(qǐng)求時(shí)斗埂,所對(duì)應(yīng)的平均延時(shí)。


Response Times

(1)?ResponseTime Percentiles

響應(yīng)時(shí)間與百分比的對(duì)應(yīng)關(guān)系凫海,即有百分之多少的線程花費(fèi)了某一響應(yīng)時(shí)間呛凶。


(2)??Active Threads Over Time



(3)?TimeVs Threads

N個(gè)活動(dòng)線程情況下的平均響應(yīng)時(shí)間。


(4)?Response TimeDistribution

在某一響應(yīng)時(shí)間段內(nèi)的線程響應(yīng)數(shù)量盐碱。



報(bào)告詳情可以參考:JMeter-Generating Dashboard

最后還有一點(diǎn)要注意的是把兔,每次啟動(dòng)命令之前,report的文件夾內(nèi)容必須和 jtl 文件一起清空瓮顽。



讀更多的好書县好,拍更美的照片,寫更酷的代碼暖混,遇見(jiàn)更有趣的人缕贡,愿望是實(shí)現(xiàn)從IT菜鳥到全棧工程師的蛻變。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拣播,一起剝皮案震驚了整個(gè)濱河市晾咪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌贮配,老刑警劉巖谍倦,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異泪勒,居然都是意外死亡昼蛀,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門圆存,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)叼旋,“玉大人,你說(shuō)我怎么就攤上這事沦辙》蛑玻” “怎么了?”我有些...
    開封第一講書人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵油讯,是天一觀的道長(zhǎng)详民。 經(jīng)常有香客問(wèn)我延欠,道長(zhǎng),這世上最難降的妖魔是什么阐斜? 我笑而不...
    開封第一講書人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任衫冻,我火速辦了婚禮诀紊,結(jié)果婚禮上谒出,老公的妹妹穿的比我還像新娘。我一直安慰自己邻奠,他們只是感情好笤喳,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著碌宴,像睡著了一般杀狡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上贰镣,一...
    開封第一講書人閱讀 51,155評(píng)論 1 299
  • 那天呜象,我揣著相機(jī)與錄音,去河邊找鬼碑隆。 笑死恭陡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的上煤。 我是一名探鬼主播休玩,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼劫狠!你這毒婦竟也來(lái)了拴疤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤独泞,失蹤者是張志新(化名)和其女友劉穎呐矾,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體懦砂,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蜒犯,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了孕惜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片愧薛。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖衫画,靈堂內(nèi)的尸體忽然破棺而出毫炉,到底是詐尸還是另有隱情,我是刑警寧澤削罩,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布瞄勾,位于F島的核電站费奸,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏进陡。R本人自食惡果不足惜愿阐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望趾疚。 院中可真熱鬧缨历,春花似錦、人聲如沸糙麦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)赡磅。三九已至魄缚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間焚廊,已是汗流浹背冶匹。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留咆瘟,地道東北人嚼隘。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像搞疗,于是被迫代替她去往敵國(guó)和親嗓蘑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容