2017-05-22 17 views
0

ストレステストの複数の反復を実行するテストプランを作成しようとしています。 私が実装しようとしているアイデアは、サーバーへの1分間のHTTP要求を実行し、一定のスループットを維持することです。 次に、必要なスループットを上げ、テストを1分間もう一度実行します。 実際のスループットが希望のスループットよりもはるかに低いことがわかるまで、繰り返しごとに100リクエスト/秒のスループットを増やしたいと思います。Jmeterはテスト再試行時に条件付きで反復を実行します

一定のスループットを1分間実行するテストプランが正常に作成されました。 Xスレッドを持つスレッドグループがあり、スケジューラを60秒に設定しました。 そのスレッドグループには、HTTPリクエストサンプラーと一定のスループットタイマーがあり、これを希望の値に設定しました。

しかし、私はそれをループで実行し、各繰り返しで一定スループットタイマーの望ましい値を増やしたいと思います。

また、集計レポートで見られる実際のスループットが、その繰り返しの定数スループットタイマーで設定したスループットよりもはるかに低いことがわかったら、ループを停止したい(または連続反復をスキップします)。

基本的に私のサーバーが追いついていないという点に達したとき、私はそれ以上のことを強調し続けたくありません。

上記の機能をどのように達成できますか?

おかげ

答えて

0
  • 各反復

    • user.properties file or via -J command-line argumentthroughputプロパティの初期値を定義__P() function${__P(throughput)}ように用いた定スループットタイマにプロパティとして定義100によってスループットを向上させます(あなたはBeanshell server featureを使ってJMeter外でもできる)
    • Test Actionサンプラーをスレッドグループの末尾に追加します(サンプル結果は生成されないため、ログには表示されません)
    • JSR223 PreProcessorをテストアクションサンプラーの子として追加し、次のコードを「スクリプト」エリア:

      def throughput = Integer.parseInt(props.get('throughput')) 
      throughput += 6000 
      props.put('throughput', String.valueOf(throughput)) 
      

    各反復スループットは、毎分6000のリクエスト(毎秒100のリクエスト)

  • によって増加されます。この方法であなたが注文トンにAutoStop Listenerを使用することができますoさまざまな基準に基づいてサーバーを圧倒しないようにします。

+0

ご回答いただきありがとうございます。 AutoStop Listenerは、平均応答時間、平均遅延、エラー率にしかアクセスできないことがわかります。しかし、集約リスナーに表示されている実際のスループットが希望よりもはるかに低い場合は、停止したいと考えています。 –

+0

また、例を共有してもよろしいですか?私があなたが言及したすべてを追ってきました、そして、私は期待された結果を得ていません。 –

関連する問題