Apache JMeter是Apache組織開發的基于Java的壓力測試工具。用于模拟http請求對軟體進行壓力測試。下載下傳位址:
https://jmeter.apache.org/download_jmeter.cgi
更改語言為中文
通過 【Options】->【Choose Language】變更為簡體中文。
Windows下建立測試模型
線程組
選中測試計劃,右鍵添加線程組:

number of Threads(users):并發使用者數
Ramp-Up Period(in seconds):全量并發啟動的完成時間
Loop Count: Forver/n, Forver:一直運作;n:執行次數
Duration(seconds):循環時間
下圖為,10并發,1秒内并發數達到10,持續30秒:
http請求預設值
為線程組添加配置元件->http請求預設值:
設定逾時時間,防止大量connect timeout error:
http請求頭管理器
為線程組添加配置元件->添加資訊頭管理器,例如設定content-type為application/json:
http請求
為線程組添加取樣器->http請求:
監聽器
jmeter提供了多種監聽器,可根據需求選擇,還可以添加jmeter插件,添加擴充監聽器:
實際測試
jmeter推薦使用者使用非GUI模式壓測,GUI模式隻建立jmx模型和測試。實際壓測時,将jmx檔案上傳至Linux伺服器,使用Linux版進行壓測。jmeter啟動時也做了如下提示:
之前GUI下生成的jmx檔案命名為ll-login.jmx,Linux測試如下:
jmeter -n -t ll-login.jmx -l result.jtl -e -o result/
參數解釋:
-t, --testfile <argument>
運作jmeter測試(.jmx)檔案
-l, --logfile <argument>
檔案記錄樣本
-n, --nongui
在非GUI模式下運作的JMeter
-e, --reportatendofloadtests
generate report dashboard after load test
-o, --reportoutputfolder <argument>
output folder for report dashboard
執行後會生成result.jtl結果,以及result目錄下可用浏覽器直接打開的彙總結果。
JMeter HEAP參數
修改參數:
vim jmeter
預設值如下:
HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"
-Xms1g
表示JVM Heap(堆記憶體)最小尺寸1g,初始配置設定
-Xmx1g
表示JVM Heap(堆記憶體)最大允許的尺寸1g,按需配置設定。
-XX:MaxMetaspaceSize=256m
-XX:MaxMetaspaceSize參數設定元空間最大值,預設是沒有上限的,也就是說系統記憶體上限就是它的上限。
-XX:MetaspaceSize選項指定元空間初始大小,預設21m,超過後會進行fullGC。
添加jmeter插件
下載下傳位址
https://jmeter-plugins.org/install/Install/
下載下傳plugins-manager.jar并放在jmeter安裝路徑下的/lib/ext/目錄下,重新開機jmeter。
在options選項下會新增Plugins Manager選項,如下:
進入Plugins Manager檢視可安裝插件(Available Plugins),其中3 basic Graphs包含三種圖像:
活動線程數變化曲線
響應時間變化曲線
每秒事務處理率
點選右下角Apply Change and Restart JMeter即可安裝成功。
日志分析
jmeter内分析
為線程組添加tps監聽器,導入之前生成的result.jtl結果,如圖:
浏覽器檢視
在浏覽器檢視生成的result目錄下的檔案: