すべてのサーバーで JMeter 2.13、Maven、および Linux を使用。GUIまたはコマンドラインからテストを実行せず、Mavenが使用されます!
Jenkins での Maven 実行から JMeter テスト計画に設定および渡される多くのパラメーターを含むテスト計画を作成します。Maven で「-J」を使用して入力パラメーターを設定します。単一の JMeter 環境で正常に動作します。
最初にスレーブで JMeter を手動で開始すると、Jenkins ジョブを開始すると、指定されたリモート サーバーでテスト計画が適切に開始されます。しかし、リモート サーバーにパラメーターが転送されていないことがわかりました。そのため、テスト計画の実行を制御できません。一時的な回避策は、テスト計画でいくつかのパラメーターをハードコーディングすることです。しかし、これは受け入れられる解決策ではありません。
私はたくさん見回しました。これらのページ、JMeter 分散テスト、コマンド ライン パラメータ、およびこれを見つけました。
しかし、コマンドラインではなくMavenから実行しているため、「-G」は機能しません!
RMI のセットアップは行っていませんが、それが問題だとは思いません。おそらく、パラメーターをリモートサーバーに転送する方法に関連しています。
この pom.xml の設定により、
<propertiesJMeter>
<remote_hosts>10.71.98.54,10.71.98.82,10.71.98.81</remote_hosts>
</propertiesJMeter>
基本的なスレーブ接続を機能させることができました。出力/ログにリモート サーバーの IP アドレスが表示され、テスト プランが開始されて正常に実行され、ログも問題ないようです。しかし、問題はパラメータがリモートサーバーに転送されないことです!!
いくつかの追加の pom 構成:
<configuration>
<remoteConfig>
<startServersBeforeTests>true</startServersBeforeTests>
<stopServersAfterTests>true</stopServersAfterTests>
</remoteConfig>
<propertiesUser>
<THROUGHPUT>${throughput}</THROUGHPUT>
<NUMBER_OF_LOOPS>${number_of_loops}</NUMBER_OF_LOOPS>
<DURATION>${duration}</DURATION>
<NUMBER_OF_CLIENTS>${number_of_clients}</NUMBER_OF_CLIENTS>
</propertiesUser>
...
誰か助けてください。