場景:使用非GUI模式下去運行jmeter腳本,測完后下載到本地到jmeter擦看結果數打開jtl文件,request出現報No data to display。。。。。
再次引起另一問題:為什么使用GUI和非GUI模式下運行?
我的理解:
GUI模式:圖形化界面雖然好看易懂,但是會消耗很多資源,運行的結果是保存到jmeter運行的內存,
不適用大型負載測試,如果大並發運行出現jmeter工具奔潰,影響整體的壓測結果。
非GUI:用命令行形式會實時將jtl文件保存到本地里,不會消耗太多資源,不會撐爆內存。
1.大並發壓測后,結果出現錯誤率較高,我們分析錯誤會無法對症下葯,如下圖:
注意: 上面所示的信息就相當於GUI界面下聚合報告元件所顯示的信息
其中主要有兩種信息:summary + 和summary =,其它項都是類似的
summary + 2355 in 00:00:26:在26秒內增加了2355 個請求,其中時間間隔由配置文件中的interval統計頻率的值決定
summary = 12347 in 00:01:56:在1分56秒內產生的總請求數是12347 個,其中的時間段是從腳本運行開始計算到當前時間為止,一般在腳本運行過程中主要關注 “summary=” 信息即可
2.下載jtl文件到本地,命令行:sz jtl文件名
3.jmeter查看結果數打開jtl文件,出現報:No data to display
4.如下步驟進行解決:
在服務器上的 /bin/user.properties 加入如下參數:
jmeter.save.saveservice.output_format=xml jmeter.save.saveservice.response_data=true jmeter.save.saveservice.samplerData=true jmeter.save.saveservice.requestHeaders=true jmeter.save.saveservice.url=true jmeter.save.saveservice.responseHeaders=true
命令行:vim user.properties,出現如下,(我給它注釋掉了,用時在打開)
最后,用命令行重新運行再去jemter打開:
jmeter -n -t /path/to/test.jmx -l /path/to/results.jtl
值得注意:對於命令行參數的解讀
格式:
jmeter -n -t [jmx腳本路徑] -l [測試輸出結果文件路徑]
-n: 表示 non gui mode,就是非圖形化模式 -t: 即testplan,后跟要運行的jmeter腳本的路徑和腳本名稱。 若指定路徑下沒有指定名稱的腳本,則自動創建。 若沒有路徑只寫腳本名稱,則默認是在當前目錄查找或創建。 -l: 后跟輸出結果文件路徑和結果文件名稱。 若指定路徑下沒有指定名稱的腳本,則自動創建,可以生成csv或者jtl文件。 若只寫腳本名稱,則默認是在當前目錄查找或創建。 示例: jmeter -n -t testplan.jmx -l test.jtl 示例含義:以命令行模式運行當前目錄下的testplan.jmx文件,並在當前目錄下輸出日志文件test.jtl