JMeter で Web サーバのパフォーマンス測定
- http://jakarta.apache.org/jmeter/
- JMeter は 100% Java で書かれたデスクトップアプリケーションなので、Java の実行環境が必要。
- Web や FTP だけでなく、JDBC を使ったデータベースクエリのパフォーマンス測定&負荷測定もできます。
目次 |
インストール
Mac OS X 10.4 にインストールする
Mac OS X は標準で Java の実行環境がインストール済みなので、Java のインストールはしなくてもよい。
JMeter をインストールし、起動するための手順は次のようにする。
- Mac OS X 用バイナリをダウンロードする
- 解凍し /Applications フォルダに置く
- ターミナルを使い jmeter を起動する
http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi から、バイナリ(Binary)をダウンロードする。
例えば、Binary にある 2.2.zip(jakarta-jmeter-2.2.zip)をダウンロードする。
jakarta-jmeter-2.2.zip を解凍すると、jakarta-jmeter-2.2 フォルダができるので、そのフォルダを /Applications フォルダに移動する。この jakarta-jmeter-2.2 フォルダの中には、JMeter のアプリケーション全てが含まれている。
jakarta-jmeter-2.2 フォルダの中の bin フォルダの中にある jmeter を、ターミナルを使って起動する。
cd /Applications/jakarta-jmeter-2.2/bin sh jmeter &
jakarta-jmeter-2.2/bin ディレクトリに移動し、jmeter を実行しないとうまく起動しない。 |
Mac OS X の場合だと、bin/ApacheJMeter.jar をダブルクリックしても JMeter が起動するが、うまく動かない場合があるので、ターミナルから jmeter を実行した方がよい。 |
Mac OS X の場合、[オプション] - [ルック&フィール] で、Metal から Mac OS X に変えた方が表示がきれいになる。
- [オプション] - [ルック&フィール] - [Metal]
- [オプション] - [ルック&フィール] - [Mac OS X]
Web サーバのパフォーマンス測定
JMeter は HTTP リクエストを Web サーバへ単位時間内に繰り返し送ることで、Web サーバのパフォーマンス測定を行う。
まずは、テスト計画にスレッドグループを作成し、そのスレッドプロパティを設定する。
スレッドプロパティは、スレッド数、Ramp-Up期間(秒)、ループ回数の3つのパラメーターを使い設定する。
- Ramp-Up 期間(秒)は、その期間(時間)内にすべてのスレッドグループ内のサンプラーを生成することを意味しています。
- ループ回数は、スレッドの繰り返し回数です。
例
スレッドグループ内のサンプラー数: | 3 |
スレッド数: | 5 |
Ramp-Up 期間(秒): | 10 |
ループ回数: | 2 |
のように設定すると、10秒間に5スレッド実行になるので、2秒毎に1スレッド実行することになる。
また、1つのスレッドにサンプラーが3つあり、それを2回ループするので 6アクセスする計算になる。
結果、6アクセス/2秒 を10秒間実行するとなる。
サンプラーを手動で追加するのは、結構手間になるので、JMeter の HTTP プロキシサーバ機能を使うと楽。