Jmeter 命令行壓測 & 生成 HTML 測試報告
通常 Jmeter 的 GUI 模式僅用于調試,在實際的壓測項目中,為了讓壓測機有更好的性能,多用 Jmeter 命令行來進行壓測。
官方:Jmeter 最佳實踐
同時,JMeter 也支持生成 HTML 測試報告, 以便從測試計劃中獲得圖表和統計信息。
?
以上定義的文件路徑可以是相對路徑,也可以是絕對路徑。
使用案例:
步驟 1:jmeter -n -t test.jmx -l result.jtl -e -o ./report
- 執行 test.jmx 文件。
- 在當前目錄下生成 result.jtl 測試結果數據。
- 在當前目錄下生成 report 目錄并存放生成的 HTML 測試報告。
如下圖所示,成功執行并生成報告:
?
注意事項:定義的測試結果數據(.jtl 文件)及報告存放目錄需不存在或為空,如果在執行命令時 .jtl 文件和 HTML 報告已存在,則必須先刪除,否則在運行命令時就會報錯。如下圖所示:
?
?
步驟 2:打開報告目錄下的 index.html 查看執行結果報告:
?
可以看到頁面左側有三個菜單:
?
- Dashboard(儀表盤):測試結果匯總。
- Charts(圖表):詳細的性能測試圖表。包括 Over Time(時間變化)、Throughput(吞吐量)、Response Times(響應時間)
- Customs Grahps(自定義圖表)
以下介紹 Dashboard 參數含義
Test and Report informations
?
- Source file:生成報告的源文件
- Start Time:開始時間
- End Time:結束時間
APDEX(應用性能指標)
?
- 計算每筆交易 APDEX 的容忍和滿足閾值基于可配置的值。范圍在 0-1 之間:1 表示達到所有用戶均滿意。
- T(Toleration threshold):容忍或滿意閾值。
- F(Frustration threshold):失敗閾值。
Requests Summary(請求總結)
?
成功與失敗的請求占比,KO 指失敗率,OK 指成功率。
Statistics、Errors、Top 5 Errors by sampler
具體的測試結果數據統計,可檢查哪些腳本執行失敗。
?
Jenkins 配置
1)構建觸發器
選擇定時任務:如下圖所示為每 5 分鐘執行該項目
?
2)構建命令
?
3)構建后操作
Publish HTML reports:構造后的報告結果路徑
?
Editable Email Notification:構建后的報告結果郵件配置
選擇右下角 Advanced Settings,添加發送郵件的時機和對象:
?
4)構建示例
?
?