JMeterについて
目次
目次 |
JMaterとは
JMeterとは、負荷テストツールです。
静的(ファイル)、動的リソース(CGI、Servlet、Perlスクリプト、Javaオブジェクト)の両方について、パフォーマンスのテストを行うことができます。
JMeter自身のプロキシーを使用しWEBブラウザ上で行った操作をテストシナリオに自動変換してくれるます。 その機能によりテストシナリオが容易に作成できることが最大の特徴です。
インストール
http://jakarta.apache.org/site/downloads/downloads_jmeter.cgiより最新のJMeterをダウンロードしてください。 インストールは、単にZIP/tarファイルをJmeterをインストールしたいディレクトリに展開するだけです。 JavaのJDKが正しくインストールされていて、JAVA_HOME環境変数が設定されているのなら、他にすることはありません。
JMaterの起動
JMeterのインストールフォルダの\bin内の「jmeter.bat」を起動します。
テストシナリオの実行
①「ファイル」→「開く」を選択します。
②シナリオファイル(拡張子.jtl)を選択し、[開く]ボタン押下します。
③「実行」→「開始」を選択します。テストシナリオが実行されます
テストシナリオの作成
主に以下のパラメータを設定します。
(1)スレッドグループ
テストシナリオを作成するには、まずスレッドグループを作成する必要があります。 テストシナリオの要素の全ては、スレッドグループの下になければなりません。 スレッドグループは複数のスレッドをコントロールしテストを実施します。
- スレッド数
同時に実行するスレッドの数(端末数)を指定します。
- Rump-Up期間(秒)
起動期間は指定されたスレッド数を、どれぐらいかけて起動するかを指定します。スレッド数:10、起動期間が100秒であれば、10スレッドを100秒間で起動します。それぞれのスレッドは前のスレッドが起動してから10(100/10)秒後にスタートします。
- ループ回数
指定した回数分だけ処理を繰り返します。無限ループにチェックを入れた場合は、[実行]の[停止]を選択するまで処理を繰り返します。
- スケジュール設定
スケジュールによる起動する場合は、「スケジュール」にチェックを入れて下さい。 開始日時、終了日時を指定すると開始日時になると処理が実行され、終了日時になると処理が終了されます。
(2)定数スループットタイマ
スループット(分あたりのアクセス数)を設定された値に近づくように調整します。 サーバがその処理以下の能力であったり、ほかのタイマーや時間を消費するテストシナリオで あればスループットは設定した値より低くなります。
- ターゲットスループット
リクエストを送出するスループット(1分間あたり)を指定します。「60.0」を指定した場合、1分間に60回リクエストを送出します。
(3)カウンター
カウンターはスレッドグループのどこからでも参照できるカウンターを作成します。 カウンター値は開始と最大値、増分を設定できます。 カウンターは開始から最大値までループし、テストが終了するまでそれを繰り返します。
- 開始
カウンターの初期値。カウンターは最初、この数字と同じになります。
- 増分
カウンタの増分値。ひとつの繰り返しが終わった時点でカウンターをいくつ増分するか設定します。
- 最大値
カウンターの最大値。カウンターがこの最大値を超えると、初期値にリセットされます.
- 参照名
このカウンターを参照するときの名前。次の(4)HTTPリクエストで参照例を示します。
(4)HTTPリクエスト
WEBサーバに送信するHTTP/HTTPS のリクエストを作成します。 HTTPリクエストは、JMetereのプロキシーを使用することでWEBブラウザで行った操作よりHTTPリクエストを自動生成することができます。
- サーバ名またはIP
サーバのドメイン名かIPアドレスを設定します。
- ポート番号
Webサーバがリスンしているポート番号を設定します。
- プロトコル
「HTTP」 or 「HTTPS」 のいづれかを設定します。
- メソド
「HTTP GET」 or 「HTTP POST」のいづれかを設定します。
- パス
リソースへのパスを設定します。リソースがクエリーパラメータを要求する場合は、次の 「リクエストと一緒に送信するパラメータ」に追加すること。
- リクエストと一緒に送信するパラメータ
リクエストと一緒に送信するクエリーパラメータの名前と値を設定します。
(5)アサーション
HTTPリクエストに対するレスポンスに指定した文字列が含まれるかどうかでレスポンスが 正常であるか確認することができます。
検査する文字列は正規表現が可能です。文字列がレスポンス全体とマッチするか、それとも 一部の文字列を含めれば良いのかを選択できます。
- テストするレスポンスフィールド
サーバからのテキストをテストするのかサンプリングされたURLをテストするかを設定します。
- パターンマッチングルール
検査する文字列が含まれれば良いのか、一致するば良いのかを設定します。否定も選択することが可能。
- テストパターン
検査される文字列の正規表現のリスト。それぞれのパターンは個別に検査されます。
(6)アサーション結果
アサーション結果は(5)アサーションで検査した結果をレポートします。
(7)統計レポート
統計レポートは名前の違うリクエストをひとつの行とした表を作成します。 それぞれのリクエストについてレスポンスの情報を合計して、リクエスト数、リクエストの応答時間の最小・最大・平均、エラーレート、理想化した計算結果としてのスループットを表示します。
(8)グラフ表示
グラフ表示はすべてのリクエストの単純なグラフを表示します。グラフの下には現在のリクエスト(黒)、現在のすべてのリクエストの平均(青)、現在の標準偏差(赤)、現在のスループット(緑)がミリ秒単位で示されます。 スループットの値は実際のサーバが処理した1分あたりのリクエスト数を表します。この計算にはJmeterに設定されたディレイやJmeter自身の処理時間も含まれています。
ユーザマニュアル
以下のURLに日本語のユーザマニュアルがあります。詳細はこちらをご覧ください。 http://cgi0.biwa.ne.jp/~yabuta/study/jmeter/usermanual/