JMeterメモ

作成 2003/2/27
更新 2004/1/25

JMeterって?

JMeterはWebアプリケーション(HTTP)用の負荷テストツールです。テストのシナリオを用意し、実行し、その結果を解析します。結果はグラフや表で表示することができ、Webアプリのパフォーマンスが一目瞭然です。その他、JDBCやFTPのテストも用意されているようです。

インストール

試した環境

インストール

http://jakarta.apache.org/から最新版のJMeterをダウンロードします。ここではjakarta-jmeter-1.9.1.zipをダウンロードしました。ダウンロードしたアーカイブを展開し、適当なディレクトリに配置します。binディレクトリのjmeter.batからJMeterを起動します。

コマンド JMeterの起動

C:\app\jakarta-jmeter-1.9.1\bin>jmeter

画面 最初の画面

テスト計画を作る

テスト計画とは、テストのシナリオのことで、どういうリクエストをどういう順番で、どれくらいのスレッドで行うかなどを定義します。JMeterの「テスト計画」の下にテスト計画を作成していきます。

スレッドグループの作成

まず「スレッドグループ」を作成します。テスト計画を右クリック→追加→スレッドグループを選択します。テスト計画にはこのスレッドグループを1

画面 スレッドグループの作成

HTTPプロキシサーバの作成

スレッドグループの下に手動で一からテストを作成することも可能ですが、「HTTPプロキシサーバ」を使うと、ブラウザで実行した操作(HTTPリクエスト)をJMeterに取り込むことができるので、簡単にテスト計画が作成できます。

ワークベンチを右クリック→追加→Non-Testエレメント→HTTPプロキシサーバを選択します。「ワークベンチ要素」の下に作成することに注意してください。

ポート番号に任意の番号を入力します(ここでは、18080にしています)。

画面 プロキシサーバ

HTTPプロキシサーバの画面で、「開始」を選択します。これでプロキシサーバが開始します。終了する場合は「停止」を選択します。

ブラウザのプロキシ設定

ブラウザを起動して、プロキシ設定を行います。例えば、IE6では次のように設定します。「ツール」→「インターネット・オプション」→「接続」タブ→「LANの設定」を選択します。「LANにプロキシ サーバーを使用する」にチェックをし、アドレスに"localhost"、ポートに"18080"(先ほど設定したポート番号)を入力します。

画面 IEのプロキシ設定

ブラウザから実行

アプリケーションサーバを起動し、ブラウザからアクセス可能な状態にします。またHTTPプロキシサーバが起動していなければ、起動します。ここでは、Tomcatのservlets-examplesを対象にテストを行います。

http://localhost:8080/servlets-examples/にアクセスします。JMeterを見てみると、スレッドグループの下にHTTPリクエストが追加されているのがわかります。ブラウザからのリクエストがテスト計画のHTTPリクエストとしてJMeterに取り込まれています。

画面 取り込まれたHTTPリクエスト

以降、テストで行いたいことをブラウザから実行します。ここではSession Exampleを数回実行しました。

「HTTPプロキシサーバ」を停止し、ブラウザのプロキシ設定を元にもどしておきましょう(ワンクリックでプロキシ設定を変えれると便利なんだけどなぁ)。

テスト計画の編集

ブラウザから取り込んだリクエストを編集します。

以下の例は、最初に/sevlet-example/にアクセスし、あとはSessionExmplaesを繰り返し実行しています。

画面 編集したリクエスト

セッションの維持

HTTPクッキーマネージャを配置します。追加→設定エレメント→HTTPクッキーマネージャで配置します。単発のリクエストでなく、スレッドごとにセッション情報を維持する場合はこの要素の追加が必要です。

画面 クッキーマネージャの配置

リスナーの追加

テスト結果を取得、分析するためにいくつかのリスナーを追加します。ここでは、「グラフ表示」と「統計レポート」を追加しました(追加→リスナーから)。

画面 リスナーの追加

スレッドグループの設定

スレッドグループを設定します。スレッドグループ要素を選択し、スレッド数とループ回数を設定します。ここでは、スレッドに10、ループ回数に50を指定しました。なお、ループ回数などはループコントローラなどで設定する方法もあります。

画面 スレッドグループの設定

タイマー

実際のリクエストに近い状態にするために定数タイマなどを設定してもよいでしょう。

テスト計画の保存

テスト計画の保存は、JMeterのメニューから、ファイル→テスト計画を保存で行えます。保存しておけば、後で読み込むことができます。

テストの実行

テストを実行します。JMeterのメニューから、実行→開始を選択します。

グラフ表示要素を選択すると、結果がグラフで表示されます。このシナリオだと、ほとんど負荷がかからないので、余裕の結果で終わっています。

画面 テスト結果

結果をクリアするには、実行→消去を選択します。

その他

ここではローカルのサーバに対するテストでしたが、リモートのサーバにも同様に行えます。サーバーを簡単に変更できるように、HTTPリクエスト初期設定値(たぶん)を指定しておくと便利でしょう。

簡単なテスト計画の作成方法と実行方法をメモっときました。テスト計画の各要素の意味や詳細設定については、マニュアルを参照してください。

参考

TECHSCORE JMeterの基本
http://www.techscore.com/tech/Java/JMeter/1.html

JMeter翻訳(ver1.8.1) yabuta氏 お勉強副産物
http://cgi0.biwa.ne.jp/~yabuta/study/jmeter/usermanual/index.html

JMeter翻訳(ver1.5) Ja-Jakarta
http://www.jajakarta.org/jmeter/

@TODO


もどる