JMeter、API負荷テスト やり方(GET、POST)備忘録


まえがき

APIの負荷テストにApache JMeterを使用した
その使い方をまとめる。

環境

Mac mini(M1, 2020)
Apple M1
macOS Big Sur ver11.4

初期設定

binディレクトリの中にある「jmeter.bat」をテキストエディタで開き、編集する。

ここで設定をしておくとメニューは常に日本語表示となる。

日本語化設定(76行目付近)
set JMETER_LANGUAGE=-Duser.language="en" -Duser.region="US"
                    ↓
set JMETER_LANGUAGE=-Duser.language="ja" -Duser.region="JP"

手順

アプリ開き方

binディレクトリの中にある「ApacheJMeter.jar」をJavaLuncherで開く

起動画面

テスト計画

1.スレッドグループの作成
「テスト計画」を右クリック
「追加」→「Threads(Users)」→「スレッドグループ」を選択

2.HTTPリクエスト、ヘッダマネージャー作成
「スレッドグループ」右クリック
「追加」→「サンプラー」→「HTTPリクエスト」をクリック
「追加」→「設定エレメント」→「HTTPヘッダマネージャー」をクリック (GET通信のみの場合は必要ない)

3.統計レポート、結果を表で表示を追加
「スレッドグループ」右クリック
「追加」→「リスナー」→「統計レポート」をクリック
「追加」→「リスナー」→「結果を表で表示」をクリック

スレッドプロパティ

Ramp-Up期間=全リクエストの作成時間

テストの総回数 = 「スレッド数」×「ループ回数」
1秒あたりのテスト回数 = 「テストの総回数」÷「Ramp-Up期間(秒)」


1.Ramp-Up期間を100(秒)、スレッド数を10とすると、 JMaterは100秒かけて10スレッド分のリクエストを送信する

2.スレッド数を10、ループ回数を10とすると、JMaterは順番に10スレッド×10回分のリクエストを送信する

3.Ramp-Up期間を10(秒)、スレッド数を10とすると、JMaterは1秒間に1スレッド分のリクエストを送信する

HTTPリクエスト

GET

POST

HTTPヘッダマネージャー

GET

必要なし

POST

レポート

統計レポートや結果を表で表示などの結果をリセットしたい場合

「右クリック」→「消去」

==参考==
Webアプリ開発エンジニアのための技術情報サイト[テックスコア]
JMeterの簡単な使い方まとめ
【図解】はじめてでもわかるJMeterの使い方