JMeterで負荷テストを行う際の基本的な設定とグラフ化についての共有です。1年に一度行うかどうかの業務ですが、設定内容をすっかり忘れてしまうため忘備録として記載しました。
テスト計画の設定
各スレッドグループを別々に実行(上から順番にスレッドグループ単位で実行されるようになります)
ベースとなるスレッドグループを作成
以下、ベースとなるスレッドグループを作成しリクエストが正常に計測できる状態にします。
- JMeter のテスト計画にスレッドグループを追加
- HTTPヘッダマネージャー追加(ヘッダ要件がある場合)
- HTTPリクエスト追加
- 統計を表で表示を追加(リクエスト確認用、計測時は無効に切り替え)
- 統計レポートを追加(ここから数値を取り出してレポート化)
スレッドグループを複製してリクエスト単位に設定
1.スレッドグループ名称を 10Req/Sec などわかりやすい名前に変更
2. スレッド数、Ramp-UP、ループを変更(10Req/Sec なら 100スレッドを 10秒間掛けて1ループ行うと秒間10リクエスト)
3.スレッドグループ分1,2を変えていく(10req/sec,50req/sec,100req/sec,150req/sec,200req/sec)
負荷テスト実行と統計データの取得
- JMeterテストを実行し各スレッドグループの統計情報を目で監視する。
- スレッドグループ単位で上から順番に統計情報が更新されていくのを確認する。
- 各グループのThroughputと、90%lineをスプレッドシートに転記する。
Throughput = 1秒間で処理できたリクエストの件数
90%Line = リクエストを返却するまでの応答速度ので最大、最小値を省いた90%の平均応答速度(mmSec)
シートをグラフ化
グラフ機能のあるスプレッドシートで統計データを視覚化します。サーバの限界性能と処理能力を超えた場合の遅延状況が一目で分かるグラフが完成します。
1.折れ線グラフは秒間10リクエストから200リクエストまでの負荷を与えたスループットを順番に並べたグラフです。サンプルでは100リクエストを境に上がらなくなっています。
2.横棒グラフは秒間10リクエストから200リクエストまでの90%Lineのレスポンスタイムを順番に並べたグラフです。サンプルでは1 50リクエストを境に大幅に遅くなっています。ます。