點(diǎn)擊鏈接加入QQ群229390571(免費(fèi)公開(kāi)課趣效、視頻應(yīng)有盡有):https://jq.qq.com/?_wv=1027&k=5rbudQa
一糟红、為什么要用命令行運(yùn)行jmeter艾帐?
主要有以下三點(diǎn):
1) 圖形化界面消耗更多資源,如CPU和內(nèi)存盆偿,容易使壓力機(jī)達(dá)到瓶頸柒爸,從而影響測(cè)試結(jié)果。
2) 圖形化界面不支持大型的負(fù)載測(cè)試和性能測(cè)試事扭,并發(fā)較大時(shí)捎稚,jmeter會(huì)崩潰。
3) 命令行方式可以把腳本配置到Jenkins上實(shí)現(xiàn)持續(xù)集成求橄,做成自動(dòng)化測(cè)試今野。
二、解讀命令行參數(shù)
1罐农、常用格式
jmeter -n -t [jmx腳本路徑] -l [測(cè)試輸出結(jié)果文件路徑]
參數(shù)解釋?zhuān)?/p>
-n: 表示 non gui mode,就是非圖形化模式
-t: 即testplan条霜,后跟要運(yùn)行的jmeter腳本的路徑和腳本名稱(chēng)。
若指定路徑下沒(méi)有指定名稱(chēng)的腳本涵亏,則自動(dòng)創(chuàng)建宰睡。
若沒(méi)有路徑只寫(xiě)腳本名稱(chēng)蒲凶,則默認(rèn)是在當(dāng)前目錄查找或創(chuàng)建。
-l: 后跟輸出結(jié)果文件路徑和結(jié)果文件名稱(chēng)拆内。
若指定路徑下沒(méi)有指定名稱(chēng)的腳本旋圆,則自動(dòng)創(chuàng)建,可以生成csv或者jtl文件麸恍。
若只寫(xiě)腳本名稱(chēng)臂聋,則默認(rèn)是在當(dāng)前目錄查找或創(chuàng)建。
示例: jmeter -n -t testplan.jmx -l test.jtl
示例含義:以命令行模式運(yùn)行當(dāng)前目錄下的testplan.jmx文件或南,并在當(dāng)前目錄下輸出日志文件test.jtl
2、其它參數(shù)命令:
jmeter -n -t test.jmx -R 10.6.5.31,10.6.5.32 -l log.jtl
jmeter -n -t test.jmx -l? log.jtl -H 192.168.1.1 -P 8080
-r/R 遠(yuǎn)程執(zhí)行 -> 啟動(dòng)遠(yuǎn)程服務(wù)艾君,即分布式執(zhí)行多臺(tái)壓力機(jī)
-H 代理主機(jī) -> 設(shè)置 JMeter 使用的代理主機(jī)
-P 代理端口 -> 設(shè)置 JMeter 使用的代理主機(jī)的端口號(hào)
使用-R指定節(jié)點(diǎn)時(shí)采够,要首先在這些節(jié)點(diǎn)上啟動(dòng)jmeter-server的服務(wù)
Linux和windows系統(tǒng)下運(yùn)行jmeter命令行
三、Linux系統(tǒng)運(yùn)行jmeter命令行
1冰垄、修改配置文件
如果你是第一次使用命令行執(zhí)行測(cè)試腳本蹬癌,那么看到的輸出結(jié)果可能是類(lèi)似下面這樣的:
這些信息僅僅告訴我們執(zhí)行成功啦。
但是我想要看到本次測(cè)試的更多結(jié)果虹茶,要怎么辦呢逝薪?
可以通過(guò)修改jmeter.properties配置文件來(lái)解決:
將上面的注釋打開(kāi),并且值修改成true蝴罪,就會(huì)打開(kāi)該條記錄董济,jmeter就會(huì)將對(duì)應(yīng)的信息輸出到我們指定的jtl文件中(不過(guò)這樣會(huì)在壓測(cè)過(guò)程中產(chǎn)生大量的日志文件,真正壓測(cè)時(shí)要门,最好不要開(kāi)太多的日志記錄)虏肾,然后可以在結(jié)果文件中查看詳細(xì)的信息。
但是我們想在腳本執(zhí)行的過(guò)程中實(shí)時(shí)查看結(jié)果信息欢搜,要怎么做呢封豪?
同樣是修改配置文件jmeter.properties
打開(kāi)上面的summariser.name、summariser.interval炒瘟、summariser.out這三個(gè)配置項(xiàng)吹埠,保存,重新運(yùn)行jmeter疮装,應(yīng)該就可以在shell里看到統(tǒng)計(jì)信息了缘琅,如下圖所示:
這里顯示的信息就相當(dāng)于GUI界面下聚合報(bào)告元件所顯示的信息。
其中主要有兩種信息:summary + 和summary =廓推,其它項(xiàng)都是類(lèi)似的
summary +? ?4386 in 00:00:30:在30秒內(nèi)增加了4386個(gè)請(qǐng)求胯杭,其中時(shí)間間隔由配置文件中的interval統(tǒng)計(jì)頻率的值決定
summary =? 27455 in 00:03:12:在3分12秒內(nèi)產(chǎn)生的總請(qǐng)求數(shù)是27455個(gè),其中的時(shí)間段是從腳本運(yùn)行開(kāi)始計(jì)算到當(dāng)前時(shí)間為止受啥,一般在腳本運(yùn)行過(guò)程中主要關(guān)注 “summary=” 信息即可
146.2/s:系統(tǒng)每秒處理的請(qǐng)求數(shù)做个,相當(dāng)于TPS
Avg:? ?684:平均響應(yīng)時(shí)間
Min:? ?201:最小響應(yīng)時(shí)間
Max:? 1499:最大響應(yīng)時(shí)間
Err:? ? ?0 (0.00%):錯(cuò)誤數(shù)/率
Active: 100:活動(dòng)的線(xiàn)程數(shù)
2鸽心、那么怎么查看生成的jtl文件呢?
把生成的jtl結(jié)果文件下載到本地
打開(kāi)jmeter居暖,添加察看結(jié)果樹(shù)和聚合報(bào)告元件
在”文件名”處選擇瀏覽顽频,打開(kāi)jtl結(jié)果文件,即可察看詳細(xì)結(jié)果
3太闺、命令行中的文件路徑
示例:jmeter -n -t testplan.jmx -l test.jtl
JMeter 默認(rèn)去當(dāng)前目錄尋找腳本文件糯景,并把日志記錄在當(dāng)前目錄。比如你在 C:toolsapache-jmeter-3.0bin 目錄下執(zhí)行以上命令省骂,JMeter 會(huì)去該目錄下尋找 test.jmx 腳本并把執(zhí)行結(jié)果放在該目錄蟀淮。
如果你的腳本在其他目錄,而且想要把執(zhí)行結(jié)果放在另外文件夾钞澳,需要使用絕對(duì)路徑告訴 JMeter怠惶,比如:
C:toolsapache-jmeter-3.0bin>jmeter -n -t e:addCustomer.jmx -l e:addCustomer.jtl
四、windows系統(tǒng)下運(yùn)行jmeter命令行
在windows下運(yùn)行命令行跟linux下是一樣的轧粟,只是通過(guò)cmd命令行工具來(lái)運(yùn)行的