複数のJMeterプロセスを立ち上げる

はまったのでめもめも。


JMetercuiで立ち上げるときはbin配下のjmeter.shを使います。
こんなかんじ。

$ sh jmeter.sh -n -t test.jmx 
Created the tree successfully using test.jmx
Starting the test @ Mon Jul 30 13:19:01 JST 2012 (1343621941287)
Waiting for possible shutdown message on port 4445

「-n」はnonguiモードで起動、「-t」はテストプランのファイルを指定するものです。


特に設定を変えていない場合、JMeterは4445ポートを使用し、テストプランが無限ループになっていればshutdownメッセージがこのポートに来るのを待ちます。
終了する場合は同ディレクトリにあるshutdown.shを使用します。

$ sh shutdown.sh
Sending Shutdown request to port 4445


かんたん!
ただJMeterプロセスを複数立ち上げる場合はちょっと勝手が違います。


JMeterの実行自体は同じようにできます。
ただ、2つ目以降のプロセスは異なるポートを使用します。
具体的には2つ目のプロセスは+1したポート、つまり4446が使われるわけです。
shutdown.shは引数なしで実行すると4445ポートのJMeterを終了しようとします。
なので、4445以外のポートを使用しているJMeterプロセスを終了したい場合はポートを指定してやる必要があります。

$ sh shutdown.sh 4446
Sending Shutdown request to port 4446

かん…たん…!
すごい必死にリファレンスで引数調べてたわ。すごい単純にできたわ。


ちなみにJMeterが使用するポート番号はshファイルと同ディレクトリのjmeter.propertiesで変更できます。
デフォルトポートの変更は「jmeterengine.nongui.port」ってやつをいじればおっけーです。
ただ、shutdown.shさんはここの値を変えても4445さんを殺そうとするので、4445以外のポートを使用している場合はポートを教えて上げる必要がありそうです。


また、複数プロセス立ち上げると自動的に+1した値が使用されるという話でしたが、こいつには上限があるみたいです。
こいつも同じ設定ファイルに記述があり、「jmeterengine.nongui.maxport」というやつになりますが、デフォルトは4455になってます。
つまりデフォルトでは4445〜4455までの計10プロセスまではどんどん立ち上げればJMeterが勝手にportを割り振ってくれるわけですね。便利!

スポンサーリンク