実践!初めてのJMeter負荷テスト

インフラ

はじめに

前回の記事ではJMeterのセットアップの方法について説明をしました。今回は実際にJMeterを使った負荷テストの方法について説明をします。例として簡単なHTTTPのGETリクエストの負荷テストを取り上げたいと思います。

設定の作成

スレッドグループの作成

まずはスレッドグループを作成します。スレッドグループにはスレッドプロパティというものが存在し、自分が実行するテストの負荷の設定をここに書いていきます。

「テスト計画」をクリックし、「編集 -> 追加 -> Threads(Users) -> スレッドグループ」と選択すると以下のようにスレッドグループができます。

スレッドプロパティの主な各項目について説明します。

  • スレッド数
    • 負荷テストで作成するスレッド数です。(= ユーザー数とも捉えることができます。)
  • Rame-up期間
    • 全スレッド数を生成する時間です。
  • ループ回数
    • 設定したスレッド数とRame-up期間のテストを繰り返す回数です。

つまり、「スレッド数 x ループ回数」がアクセス数の総数となり、「スレッド数 / Rame-up期間」が1秒あたりのアクセス数となります。
例えば「スレッド数 2」「Rame-up期間 3」「ループ回数 4」と設定すると「1秒あたり1.5回(3 / 2)のアクセスをし、計8回(2 x 4)実行する」という負荷テストになります。

負荷をかけるリクエストの作成

次に負荷をどのような方法でかけるのかリクエストを設定します。

「スレッドグループ」をクリックし、「編集 -> 追加 -> サンプラー -> リスナー」で設定することができます。例えば「HTTPリクエスト」を選択するとスレッドグループ内に「HTTPリクエスト」という項目が作成されます。

Webサーバー、HTTPリクエストに必要な内容を記述することでHTTPリクエストを送ることができます。

プロトコルの部分は「HTTP」もしくは「HTTPS」と記述します。

結果の表示

実際の負荷テストの結果を表示について設定を行います。

「スレッドグループ」をクリックし、「編集 -> 追加 ->リスナー」と選択すると結果の表示形式を選ぶことができます。例えば「結果を表で表示」を選択するとスレッドグループ内に「結果を表で表示」という項目が作成されます。

実行結果

今回は先ほど例として取り上げた「スレッド数 2」「Rame-up期間 3」「ループ回数 4」と設定すると「1秒あたり1.5回(3 / 2)のアクセスをし、計8回(2 x 4)実行する」という負荷テストを元に説明をします。

再生ボタンを押すことで実行されます。

実際に実行し、「結果を表で表示」の部分を選択すると結果をみることができます。
今回は計8回のリクエストをしているため、8回分のログが残っています。なお、緑のチェックマークがstatusに表示されていればちゃんとリクエストができているということになります。

まとめ

今回は簡単なHTTPリクストを利用した負荷テストをJMeterで行う方法について説明しました。
JMeterは他にも色々とやれることがあるので興味のある方は調べてみてください。