負荷をかけるPC上のJMeterをJMeterサーバーと読んでいる。そのJMeterサーバーに指示をするPC上のJMeterをJMeterクライアントと呼ぶ。
例えば、3台のJMeterサーバーを用意し、そのサーバーが、一斉に負荷テスト対象サーバーに対し負荷をかける。
負荷テスト対象サーバー←負荷←JMeterサーバー←指示←JMeterクライアント
とまあ、こんな具合。
まずは、JMeterクライアント側。
- テスト計画を作成する。テスト計画のファイル(jmx)はJMeterクライアントにあればよい。
- JMETER_HOME\bin\jmeter.propertiesのremote_hostsにJMeterサーバーのIPアドレスを設定する。複数設定する場合には、それらをカンマで区切る。
- 1099ポートを開ける。(クライアント側もポートを開けないとうまくいかなかった。)
次にJMeterサーバー側
- 環境変数を登録する
- JAVA_HOME=C:\Program Files\Java\jdk1.6.0_32
- JMETER_HOME=C:\Program Files\Apache Software Foudation\jmeter-2.6
- PATHに%JAVA_HOME%\binを追加。
- CLASSPATH=%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar
- 1099ポートを開ける。
あとは、JMeterサーバー側で%JMETER_HOME%\bin\jmeter-server.batを実行する。
すると、ApacheJMeter_core.jarを見つけてくれる。
... Trying JMETER_HOME=..
Found ApacheJMeter_core.jar
Created remote object: UnicastServerRef [liveRef: [endpoint:[10.10.0.140:1716](l
ocal),objID:[3a67570:1374fd02d87:-7fff, -2422396333061462534]]]
これで準備はOK。あとは、クライアントからの指示を待つばかり。
JMeterクライアントで、テスト計画ファイルを読み込み、実行→すべて開始(リモート)を実行すると、JMeterサーバーが負荷テスト対象サーバーにテスト計画に指定した負荷をかけてくれる。
Starting the test on host 127.0.0.1 @ Tue May 15 18:25:10 JST 2012 (1337073910091)
Finished the test on host 127.0.0.1 @ Tue May 15 18:25:20 JST 2012 (1337073920763)
ハマったところは、クライアント側も1099ポートを開けておかなくちゃいけないこと。
0 件のコメント:
コメントを投稿