Apache JMeter 是 Apache 開發的壓力測試套件,程式是以JAVA寫成,可以在 Unix-Like 上執行,也可以在 MS-Windows 上執行,本篇是在 Mac OS X 上執行。
點選 Jmeter.sh 開啟程式
在 Test Plan 上點右鍵, Add → Threads (Users) → Thread Group
Thread Properties
在 Thread Group 上點右鍵, Add → Logic Controller → Loop Controller
設定 Loop count (迴圈/重複執行次數)為 100 次
設定完 Thread Group 和 Loop Count 後,也就等於控制了對受測服務所發出的 request 數量,這邊作個簡單的計數的話就是:
100 (Users) * 100 (Loop Count) = 10,000 (Requests)
也就是我們的服務將接受 10,000 次 requests 的測試。
建立一個 HTTP Request。在 Loop Controller 上點右鍵, Add → Sampler → HTTP Request
輸入要測試的內容值
設定 API 參數:
IP: 127.0.0.1
Method: POST
Path: /api/v1/member
勾選 Use multipart/form-data for POST
Send Parameters With the Requests:
Loop Controller 上點右鍵, Add → Listener → View Results Tree 加入 View Results Tree 來記錄每一筆 Request 的結果
Loop Controller 上點右鍵, Add → Listener → Summary Report 加入 Summary Report 來統計 Request 的結果
Loop Controller 上點右鍵, Add → Listener → Graph Results 加入 Graph Results 以圖表顯示執行的結果
點選綠色向右的三角形執行
執行結束,Summary Report
Graph Results 的結果長醬子,由於是存取localhost 所以大多request是 7.9秒 就處理完成。
View Results Tree 裡可以看到實際傳回的 request 和 response data.
點選齒輪掃把圖示來清楚記錄,清除完成後再點選三角形執行
設定 一個使用者 ,一個迴圈,來測試
使用 View Results Tree 來查看 Request 是否正常
Sampler result
Request
Response data
問題:You should save your test plan before running it.
解決:執行前要先儲存專案