準備測試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),請我喝杯咖啡
