外部JMeterテスト計画(JMXファイル)のスレッドグループを変更する
私のアプリケーションは、ユーザーからテスト計画としてjmxファイルを取得して実行します。アプリケーションのバックエンドでJMeter分散セットアップを実行しました(1つのJMeterクライアントと複数のJMeterサーバー)。
私が直面している課題は、テスト計画の実行に必要な#threadsです。
- ユーザーから明示的に#instances(テストを実行するJMeterサーバー)と#threadsを取得する場合、実行前にこのスレッドグループを使用してユーザー提供のテスト計画を構成するにはどうすればよいですか?これにより、事前にクラスターとマシンの容量でこれらの値を確認できます。
インクルードコントローラーについて読んだことがありますが、それには必然的にユーザーのテスト計画にテストフラグメントが必要です。
- 明示的でない場合、ユーザーテスト計画でスレッドグループの構成を確認するにはどうすればよいですか?ユーザーがJMeterサーバーマシンに過負荷をかける可能性のある大きな#threadsをテスト計画に入れたとすると、この値を確認し、#threadsを制限するようにユーザーに警告するにはどうすればよいですか?
回答
JMeterの世界では「#threads_per_instance」というようなAの事はありませんあなたはでのJMeterを実行した場合、分散モード各サーバは(またはスレーブまたはロード・ジェネレータ)は、クライアントが提供する.jmxテスト計画を実行し、それがあるとして100を持つそうであれば、ユーザーのアップロードファイルスレッドグループ内のスレッドで、スレーブが1つあります。ユーザーは100人になります。スレーブが2つある場合、200人のユーザーなどがいます。
もう1つは、主にテストの性質(要求/応答サイズ、プリ/ポストプロセッサの数、アサーション、リスナーなど)に依存するため、単一のJMeterスレーブからシミュレートできるスレッドの数を事前に判断できないことです。 。何らかの形式のJMeterスレーブヘルスモニタリングを実装し、CPU、RAM、またはネットワークの使用率が80%を超え始めた場合にユーザーに警告することをお勧めします。JMeterPerfMonプラグインを使用して簡単に実現できます
「アプリケーション」でどのテクノロジーが使用されているかわからないため、この質問は広すぎます。JMeter .jmxスクリプトは単なるXMLファイルであるため、XMLパーサーを使用して、すべてのスレッドグループのスレッド数を抽出し、何らかの方法で「検証」できるはずです。