SUPってなに?
SUPってなに?
2012.06.13

パフォーマンス計測用のJavaアプリ「JMeter」で負荷テストをしてみる。その2

鳥よし

こんにちは。鳥よしです。

前回「JMeterで負荷テストをしてみる」という記事を書き、ダウンロードから起動、そしてシナリオの作成までのやり方を紹介しました。

 

□前回の記事はこちら
https://liginc.co.jp/programmer/archives/1971

今回は続きとして、スレッドグループの設定をメインに書いていきたいと思います。

読んでて退屈な方は、メントスとコーラを同時に口に含んだ状態で読んで頂ければいいかなと思います。

4.スレッドグループの設定

JMeterにどんな動作をさせるかを設定します。
ここでは、数多くの設定があるため、よく使うものだけを書きます。
スレッドグループにカーソルを合わせて右クリックし、追加を選択すると以下のような項目が出ると思います。

  • ロジックコントローラ
  • 設定エレメント
  • サンプラー
  • リスナー

まずはサンプラーの中から

[HTTPリクエスト]

これが、どこにどういった状態でリクエストするかの設定になります。

良く設定する項目は以下

  1. 名前・・・何でもいいので、結果を見るときにわかりやすい名前を付ける
  2. サーバ名またはIP・・・負荷をかける対象サーバ情報
  3. ポート番号・・・httpなら80、httpsなら443等
  4. プロトコル・・・httpとかhttpsとか
  5. メソッド・・・データの渡し方を設定
  6. パス・・・対象のパス
  7. リクエストで送るパラメータ・・・何かパラメータを渡す場合に設定

次に今、設定した[HTTPリクエスト]にカーソルを合わせて右クリックし、

設定エレメントの中から

[HTTP ヘッダマネージャ]

これがどういったHTTPヘッダーでリクエストするかの設定になります。
User-AgentやRefererなんかを設定したりする事が多いのではないでしょうか。

次にスレッドグループにカーソルを合わせて右クリックし、

リスナーの中から

[統計レポート]

これはシナリオを実行した際の結果を表示するために設定しておきます。
特に統計レポートではなくて、自身の見たい情報等に合わせてリスナーの中から選択し、
必要なものすべて設定しておけばいいと思います。
僕はResponse headerを見るために「結果をツリーで表示」をよく使ってます。

(ブログの為にシナリオを作っているので、めんどくさいから統計レポートしかセットしない!)

これで、一画面に対する設定が完了です。

一旦スレッド数=5 Ramp-Up期間(秒)=5 ループ回数=1 で設定して動かしてみます。

5.実行結果

先ほど実行した結果を見てみます。

項目の説明は以下

  1. Samples・・・実行されたスレッドの数
  2. Average・・・レスポンス時間の平均値(ミリ秒)
  3. Median・・・レスポンス時間の中央値(ミリ秒)
  4. 90%Line・・・レスポンス時間がこの値以下に全サンプルのうち90%が収まることを示す値
  5. Min・・・レスポンス時間の最小値(ミリ秒)
  6. Max・・・レスポンス時間の最大値(ミリ秒)
  7. Error・・・エラー発生率
  8. Throughput・・・PV/単位時間(単位時間あたりのPV数)
  9. KB/sec・・・1秒あたりの平均転送データ(KB)

ちょっと確認してみると、ちゃんと5回アクセスされ、エラーが発生していないことがわかります。
もし、大した負荷をかけていないのにエラーが出たりする場合は、設定を見直す必要があるかもしれません。
「結果をツリーで表示」でレスポンスを見たりすると早く原因が見つかるかも。

次回はさらに細かいシナリオにしていきたいと思います。

※まかり間違っても他人のサイトに負荷をかけないでください。訴えられても責任は取りません。ここに対してもかけないでください。「押すなよ?絶対に押すなよ?」的なアレではありません。