ホーム DoRuby JMeterで役立つTips

JMeterで役立つTips

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

こんにちはダオカです。

今回は負荷テストで個人的に使う機会が多い、JMeterの役に立ちそうなTipsをいくつか紹介したいと思います。

一定時間リクエストを送り続ける設定の仕方

負荷テストではよく「5分間リクエスト送り続けてのレスポンス状態をみる」といったような一定時間リクエストを送り続けるようなテストが行われます。

JMeterでそのようなシナリオを作成するには、スレッドグループのスケジューラを利用します。

設定方法

1. ループ回数を無限に設定する

2. 「スケジューラ」のチェックボックスをチェックする

3. スケジューラ設定の「持続時間 (秒)」にリクエストを送り続けたい秒数を入力する。

備考

・スケジューラ設定の開始時刻、終了時刻は入力必須になっていますが、過去の日付にしておけば無視されるので特段の理由がなければ、初期値のままでかまいません。

サンプラーのホスト名をいちいち書き換えるのが面倒くさい時

負荷テストでははじめにステージング環境で試してみて、その後本番環境で行ったりすることがあったりします。

こういう場合、本番環境とステージング環境でホスト名が違っていて、ホスト名の部分を書き換えないといけない場合があります。

これが1ページならいいのですが、複数ページにわたる場合、いちいちサンプラ毎に書き換えていては、面倒くさい、どっかで漏れや間違えが生じてしまうなど効率がよくありません。

このような時には「HTTPリクエスト初期値設定」という設定エレメントを利用すると便利です。

このHTTPリクエスト初期値設定では、ホスト名やポート番号、プロトコルなどの初期値を設定することができます。

これで、複数ページにわたるテストでもいちいちサンプラ毎にホスト名を書き換えるという面倒くさいことから解放されます。

ただし、HTTPリクエスト初期値で設定した値はサンプラーで上書きすることが可能です。

なので、サンプラーで初期値を利用したい箇所は、その箇所を空欄にしておく必要があります。

逆に、初期値を利用したくない場所はサンプラーでその項目の部分を設定すれば、サンプラーの値で設定した値が利用されます。

Basic認証がかかったページをテストしたい

何らかの事情でBasic認証がかかったページでも、JMeterでテストを行うことができます。

JMeterでBasic認証がかかったページをテストしたいときは、「HTTP 認証マネージャ」を使用します。

1. スレッドグループで右クリックし、「追加」→「設定エレメント」→「設定エレメント」→「HTTP 認証マネージャー」をクリックし、HTTP 認証マネージャを追加する。

2. 基底URLにBasic認証がかかるURL、ユーザ名、パスワードを入力する。

Cookieを使いたい

セッション情報の保持などにCookieがよく使われますが、JMeterでCookieを利用したサイトのテストを行いたいときは、「HTTP クッキーマネージャ」を使用します。

「HTTP クッキーマネージャ」はスレッドグループに追加するだけで利用できます。

何らかの事情で意図した値を保持したいということがなければ、特に設定は必要ありません。

ユーザエージェントを変えたい

モバイルやスマートフォンのサイトのテストを行う場合、ユーザーエージェントを設定しないとテストできない場合があります。

このようなケースでは、「HTTP ヘッダマネージャ」を利用します。

ユーザエージェントの設定例

1. スレッドグループで右クリックし、「追加」→「設定エレメント」→「設定エレメント」→「HTTP ヘッダマネージャ」をクリックし、HTTP ヘッダマネージャを追加する。

2. HTTP ヘッダマネージャの追加をクリックし、名前に「User-Agent」、値に適当なユーザーエージェントの値(例ではiPhone4の値)を設定する。

※HTTPヘッダマネージャでは、ユーザーエージェントのみでなく、HTTPヘッダで設定する値の変更をすることが可能です。

リクエストが自分の意図した結果通りのものか確認したいとき

JMeterではサンプラでリクエストを投げて、レスポンスにかかった時間を測定したりしますが、そのレスポンスが自分の意図したものでないとテストの意味がありません。

自分がシナリオ作成段階で、自分の意図した状態でレスポンスが返っているかどうか確認する手段として、リスナーの「結果をツリーで表示」をよく利用しています。

このリスナーではリクエスト毎の、リクエスト内容、レスポンス結果、応答データが詳細に表示されます。

ここで応答データをみると、自分が意図したレスポンス内容かどうか確認できます。

最近リリースされた、JMeter2.4ではいままであった、テキスト表示、簡易的なHTMLレンダリングに加え、XMLパーサ、JSONパーサ、正規表現の取り出しテストの機能も加わって、結構強力な機能になっています。

記事を共有

最近人気な記事