JMeter壓力測試 範例

  1. 準備測試API
  2. 測試條件
  3. 設定 JMeter腳本
  4. 查看測試結果
  5. CLI方式 Run Test
  6. 查看報告

準備測試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腳本

  1. 開啟JMeter

  2. 新增 Threads (Users) > Thread Group

設定呼叫次數 & loop次數

  1. 新增 Sampler > HTTP Request

設定 呼叫 API路徑 & 參數

傳入的 testProperty 為動態遞增參數, 待會還要設定Conter

  1. 新增 Config Element > HTTP Header Manager

設定 Content-type = application/json

  1. 新增 Config Element > Counter

設定 testProperty (遞增數值)

  1. 新增 Timer > Constant Time

設定 delay 2000ms

  1. 新增 查看測試結果的Listener

查看測試結果

每兩秒打 API 10 次,20次循環 (共約花 40秒 & 呼叫API 200次)

  1. 傳入參數遞增

  2. API Response Status & 回應時間

  3. 查看呼叫次數 & (平均、最小、最大)回應時間 …其他欄位資訊

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

斗內💰

×

歡迎斗內

github