8.命令行運(yùn)行腳本
8.1為什么使用命令行
在進(jìn)行線程較多的性能測(cè)試時(shí)敦锌,如果是使用GUI方式執(zhí)行的腳本悼做,有可能導(dǎo)致占用大量的線程與資源朽色,導(dǎo)致系統(tǒng)崩潰梢褐,這樣測(cè)試出來的數(shù)據(jù)不具備準(zhǔn)確性鱼响,所以我們一般使用GUI調(diào)整腳本桶癣,使用命令行執(zhí)行性能測(cè)試腳本莫秆。再者连锯,就是命令行執(zhí)行支持多平臺(tái)吻氧。
8.2如何使用命令行
執(zhí)行命令前要檢查當(dāng)前目錄是否是%JMeter_Home%\bin 目錄振惰;如果 JMeter 腳本不在當(dāng)前目錄,需要指定完整的路徑;如果要把執(zhí)行的結(jié)果保存在其他地方也要指定完整的路徑斩郎。命令中不指定測(cè)試計(jì)劃與測(cè)試結(jié)果的路徑時(shí),默認(rèn)都是在該目錄下。
命令:jmeter -n -t <testplan filename> -l <listener filename>
參數(shù)列表:
-n 啟用命令行模式
-t 指定腳本位置(若命令行模式在bin/文件夾下释涛,則可以使用相對(duì)路徑,否則使用絕對(duì)路徑)
-l 指定結(jié)果文件路徑 (同上)
-j 指定日志文件路徑 (同上)
-r 設(shè)置分布式執(zhí)行
-R 指定遠(yuǎn)程服務(wù)器列表
-g 制定csv測(cè)試結(jié)果文件路徑(同上)
-e 測(cè)試完成生產(chǎn)報(bào)表
-o 指定報(bào)表文件路徑(同上)
-H 設(shè)置代理服務(wù)器IP或域名
-p 設(shè)置代理服務(wù)器端口號(hào)
這里使用:生成報(bào)表文件
jmeter -n -t testplan\mytesttutorial.jmx -l testplan\result.jtl -e -o testplan\HttpReport
可以看見就算是命令行執(zhí)行在線程過多的時(shí)候也會(huì)十分占用系統(tǒng)配置首装。
進(jìn)入報(bào)表目錄萌踱,打開index.html即可查看報(bào)表
8.3報(bào)表介紹
報(bào)表首頁:
APDEX(Application Performance Index)
應(yīng)用程序性能滿意度的標(biāo)準(zhǔn)蝙泼,范圍在0-1之間瀑踢,1表示達(dá)到所有用戶均滿意。是由APDEX公司推出的臼节。計(jì)算公式:
Requests Summary
請(qǐng)求總結(jié),使用餅圖來直觀表達(dá)請(qǐng)求成功與失敗的占比
Statistics
包含了請(qǐng)求名字唉韭,總請(qǐng)求次數(shù),錯(cuò)誤率,平均值,最小值涮因,最大值程梦,90%線朵你,95%線搞监,99%線宙刘,吞吐量玉罐,下載季蚂,上傳速率等
Errors
錯(cuò)誤請(qǐng)求列表
Top 5 Errors by sampler
錯(cuò)誤率排名前五的監(jiān)聽器名稱
左側(cè)導(dǎo)航欄Charts(圖表)模塊
Over Time:隨時(shí)間線變化的圖表(注意高每,圖表描點(diǎn)以分鐘為間隔)
?Response Times Over Time
平均響應(yīng)時(shí)間隨時(shí)間的變化圖
橫軸:時(shí)間
豎軸:平均響應(yīng)時(shí)間
Response Time Percentiles Over Time (successful responses)
各類響應(yīng)數(shù)據(jù)隨時(shí)間的變化情況
橫軸:時(shí)間
豎軸:響應(yīng)時(shí)間
分別可以選擇
90th percentile不脯,95th percentile,99th percentile刻诊,Max防楷,Min
取消max后的圖表:
?Active Threads Over Time
活動(dòng)線程隨時(shí)間變化圖
橫軸:時(shí)間
豎軸:線程數(shù)
?Bytes Throughput Over Time
字節(jié)的吞吐量隨時(shí)間變化圖
橫軸:時(shí)間
豎軸:Bytes/秒
?Latencies Over Time
用戶發(fā)送完請(qǐng)求后的平均響應(yīng)等待時(shí)間隨時(shí)間變化圖
橫軸:時(shí)間
豎軸:平均響應(yīng)等待時(shí)間
?Connect Time Over Time
建立請(qǐng)求連接時(shí)間
橫軸:時(shí)間
豎軸:建立請(qǐng)求平均等待時(shí)間
Throughput:吞吐量相關(guān)圖表
Hits Per Second
每秒點(diǎn)擊次數(shù)隨時(shí)間變化圖表
橫軸:時(shí)間
豎軸:點(diǎn)擊率
Codes Per Second
每秒的響應(yīng)代碼隨時(shí)間變化
若請(qǐng)求有不同的響應(yīng)代碼則會(huì)有不同的曲線
橫軸:時(shí)間
豎軸:對(duì)應(yīng)每秒的響應(yīng)代碼
?Transactions Per Second
每秒的事務(wù)處理隨時(shí)間的變化圖
橫軸:時(shí)間
縱軸:每秒事務(wù)處理量
?Total Transactions Per Second
總的每秒的事務(wù)處理隨時(shí)間的變化圖
若腳本中不止一個(gè)事務(wù),則會(huì)統(tǒng)計(jì)
可選擇失敗的事務(wù)線與成功的事務(wù)線
橫軸:時(shí)間
縱軸:每秒事務(wù)處理量
?Response Time Vs Request
響應(yīng)時(shí)間與請(qǐng)求量對(duì)比圖
橫軸:總的請(qǐng)求數(shù)
豎軸:對(duì)應(yīng)請(qǐng)求數(shù)下的50%用戶的響應(yīng)時(shí)間
?Latency Vs Request
?發(fā)送請(qǐng)求后的等待時(shí)間與請(qǐng)求時(shí)間對(duì)比圖
橫軸:總的請(qǐng)求數(shù)
豎軸:對(duì)應(yīng)請(qǐng)求數(shù)下的50%用戶的等待時(shí)間