準備測試API
以.Net 為範例, 新增一個簡單的API功能(傳入甚麼參數 就回傳甚麼參數)
[Route("api/[controller]")]
[ApiController]
public class TestController : ControllerBase
{
[HttpPost]
public string TestAPI(A model)
{
return model.TestProperty;
}
}
public class A
{
public string TestProperty { get; set; }
}
API: https://localhost:44344/api/Test
Http Method: POST
Header: Content-Type = application/json
Param:
{
“testProperty”: “1000”
}
測試條件
每兩秒呼叫 https://localhost:44344/api/Test 10次,20次循環 (loop 20次)
傳入的 TestProperty 依序遞增
設定 JMeter腳本
開啟JMeter
新增 Threads (Users) > Thread Group
設定呼叫次數 & loop次數
- 新增 Sampler > HTTP Request
設定 呼叫 API路徑 & 參數
傳入的 testProperty 為動態遞增參數, 待會還要設定Conter
- 新增 Config Element > HTTP Header Manager
設定 Content-type = application/json
- 新增 Config Element > Counter
設定 testProperty (遞增數值)
- 新增 Timer > Constant Time
設定 delay 2000ms
- 新增 查看測試結果的Listener
查看測試結果
每兩秒打 API 10 次,20次循環 (共約花 40秒 & 呼叫API 200次)
傳入參數遞增
API Response Status & 回應時間
查看呼叫次數 & (平均、最小、最大)回應時間 …其他欄位資訊
CLI方式 Run Test
cd 至 apache-jmeter-5.4.3\bin
# 跑測試 並產.jtl檔 & Report報告
./jmeter -n -t JMeter_Test.jmx -l JMeter_Test.jtl -e -o D:\Tool\apache-jmeter-5.4.3\Report
# 若已有.jtl檔 則可直接建立Report報告
./jmeter -g JMeter_Test.jtl -o D:\Tool\apache-jmeter-5.4.3\Report
查看報告
轉載請註明來源,若有任何錯誤或表達不清楚的地方,歡迎在下方評論區留言,也可以來信至 leozheng0621@gmail.com
如果文章對您有幫助,歡迎斗內(donate),請我喝杯咖啡