0

私はAmazonネットワークで実行されているいくつかのサービスのパフォーマンステストに取り組んでいます。

私たちのアーキテクチャは次のとおりです。

  • 私たちの施設(Bamboo)で実行されている継続的インテグレーションサーバー。
  • テストするサービスと同じネットワーク内のJmeterサーバーインスタンス。
  • 施設内のJMeterサーバー(sshトンネル)に接続されたJmeterクライアント。

竹からテストの実行を開始し、それについてもさまざまな結果を確認したいと思います。

Bamboo with    <--------->   Jmeter server <-------->  WebService
Jmeter client                  on Amazon                on Amazon

誰かがこのようなことを試みましたか?

4

1 に答える 1

2

通常、JMeterクライアントとサーバーを同じサブネットに保持し、トンネルを使用しない方が適切で簡単です。結果データを転送するときに遅延の問題が発生しないため、より優れています。また、RMIのトンネリングは面白くないため、より簡単です。

最も簡単な解決策は、Bambooにシェルスクリプトを実行するように指示し、このスクリプトを使用してテストの開始と結果の管理を制御することだと思います。JMeterがインストールされたec2ホストがある場合は、sshを使用してテストを実行できます。次のようなもの(簡潔にするために簡略化):

ssh -i /mykey.pem root@myec2host.com ./path/to/jmeter -n -t /path/to/mytest.jmx -l /my/results.jtl

私はしばらく前に持っていた要件に対して同様のアプローチを取りました、そしてそれはこれに成長しまし。おそらくあなたのニーズには過剰ですが、何か使用するものがあれば、遠慮なく引き離してください。

竹で結果を見るという点では、これはカスタムプロセスになります。JMeterは、GUIを使用して読み取りおよび視覚化できる個々のテストごとにcsvまたはxmlファイルを提供しますが、CIの場合、複数のテスト実行(つまり、コードの複数のビルド)にわたって結果をトレンド分析するソリューションの恩恵を受けます。このためには、結果を何らかの形式のストア(おそらくデータベース)に入れてから、それらをクエリして最も有用な表現を取得する必要があります。

単純な平均にのみ関心がある場合、これは実際には非常に簡単です。テストが完了したら、シェルスクリプトを使用してデータを起動し、いくつかのサマリー値を取得してテーブルにパイプします。または、これはさらに簡単かもしれません。BambooAPIが提供するものをご覧ください。各ビルドの結果を直接インポートしてから、Bambooツールを使用して結果を表示できる場合があります。それはすべて、必要なレポートのレベルによって異なります。

于 2012-09-30T01:29:08.437 に答える