- 介紹 -
JMeter是Apache組織的開放源代碼項目,能做功能測試和性能測試。它能夠對HTTP和FTP服務器進行壓力和性能測試,也可以對任何數據庫進行同樣的測試(通過JDBC),還能以多種形式展現測試結果。
跟LoadRunner的區別,JMeter是開源的,LR是商業軟件,JMeter更靈活,LR更好用可以錄製腳本。
- 應用場景 -
開發環境UI響應比較慢,解決思路:
1. 先用browser debug工具分析發現是接口響應慢,導致UI一直處於等待狀態
2. 然後使用工具做接口性能分析
3. 最後對分析出來的接口做性能優化
以上,實際上就是一個壓力測試的過程,這裏使用開源工具Apache JMeter做壓力測試,步驟記錄如下:
一. 下載和安裝
Apache JMeter官網選擇二進制文件下載,完成後直接解壓使用(windows點擊C:\Program Files (x86)\apache-jmeter-4.0\bin\jmeter.bat啓動主程序)。
二. 創建線程組
新建線程組,右鍵點擊測試計劃,添加>Threads(Users)>線程組
設置線程數10,Ramp-Up period(in seconds):0,循環次數:1
Ramp-Up period指的是所有線程運行完限定的時間(如果設置爲0,就是併發);
如圖模擬的是10個線程併發訪問接口的場景。
三. 新建HTTP請求,右鍵點擊線程組>添加>Sampler>HTTP請求
如圖是模擬http post請求,分別添加了request body 和 header。
四. 創建結果報告
如圖分別模擬了10個和100個線程併發訪問接口時的接口性能:
10個線程併發 10秒
100個線程 25秒
可見接口性能不好,並且出現了比較嚴重的性能退化。