咱們作性能測試的時候會常常使用一些性能測試工具,我我的比較喜歡Jmeter這個工具,可是JMeter這個工具在生成測試報告方面一直有所欠缺。可是JMeter在3.0之後解決了這個問題。html
JMeter3.0之後引入了Dashboard Report,用於生成HTML頁面格式圖形化報告的擴展模塊,可是請你們注意一個問題JMeter3.0直接生成報告會出現中文亂碼,建議你們使用3.1以後的版本,我這裏使用的是3.2。bash
那麼是如何生成HTML報告的呢,咱們一塊兒來看一下。工具
1、若是沒有.jtl文件,運行以下命令: 性能
jmeter -n -t source.jmx -l result.jtl -e -o /tmp/ResultReport 咱們來看一下這條命令的參數: -n :以非GUI形式運行Jmeter -t :source.jmx 腳本路徑 -l :result.jtl 運行結果保存路徑(.jtl),此文件必須不存在 -e :在腳本運行結束後生成html報告 -o :用於存放html報告的目錄
在這以前呢你們須要本身準備好JMeter的腳本,以下是我執行命令截圖:
2、若是已經存在結果文件(.jtl),可運行以下命令生成報告
jmeter -g result.jtl -o /tmp/ResultReport
參數:
-g : result.jtl 已經存在的.jtl文件的路徑。
-o :用於存放html報告的目錄
這種沒有日誌打印,下面是截圖:
測試
不管採用哪一種方式,執行完後會在執行的目錄生成以下文件或文件夾:spa
雙擊打開index.html文件,就能夠看到報告了。如圖:線程
先看一下Dashboard中都有什麼?3d
Test and Report informations:測試和報告信息: 測試結果保存文件/測試開始時間/測試結束時間/展現過濾器。
APDEX(Application Performance Index):應用程序性能滿意度的標準,範圍在 0-1之間,1表示達到全部用戶均滿意,能夠在配置文件設置。
Requests Summary: 請求的經過率(OK)與失敗率(KO),百分比顯示。
Statistics: 數據分析,基本將 Summary Report 和 Aggrerate Report 的結果合併。
Errors: 錯誤狀況,依據不一樣的錯誤類型,將全部錯誤結果展現。
Top 5 Errors by sampler:Top5錯誤信息採樣
日誌
接下來看一下Charts裏的內容:code
Charts裏如圖所示分爲三大塊:時間維度信息(Over Time)、吞吐量(Thorughput)、響應時間(Response Times)
Over Time
● Response Times Over Time腳本運行時間內響應時間分佈曲線
● Response Time Percentiles Over Time (successful responses) 腳本運行時間內成功響應的請求,響應時間百分位
● Active Threads Over Time 腳本運行時間內的活動線程分佈
● Bytes Throughput Over Time腳本運行時間內的吞吐量,單位是byte
● Latencies Over Time腳本運行時間內毫秒級的響應延時
● Connect Time Over Time腳本運行時間內平均鏈接時間
Throughput
● Hits Per Second (excluding embedded resources) 每秒點擊數曲線
● Codes Per Second (excluding embedded resources)每秒狀態碼分佈曲線
● Transactions Per Second 每秒事物數曲線
● Response Time Vs Request 響應時間中值與每秒請求數關係曲線
● Latency Vs Request 延遲時間中值與每秒請求數關係曲線
Response Times
● Response Time Percentiles毫秒級百分位響應時間曲線
● Response Time Overview 響應時間概述柱狀圖
● Time Vs Threads 活動線程與平均響應時間變化曲線
● Response Time Distribution響應時間分佈圖
怎麼樣,這樣一個測試報告是否是很炫,本身試試吧。