2017-01-07 11 views
0

私はWebアプリケーションをテストしています。基本的に私は平均して毎秒2.5要求を実行する必要がある1つのスレッドグループを持っています(それぞれの要求は架空の広告に対する要求です)。 2番目のスレッドグループ(エンドユーザー)は、アフィリエイトから要求されたこれらの広告の10%を「クリック」する必要があります。JMeter 1スレッドグループは他のスレッドグループの10%を実行します

私は次のセットアップを持っている:

Test setup

各スレッドグループは1(S)のランプアップ時間を持っています。 最初のスレッドグループ(アフィリエイト)の定数タイマーは400msです(1秒/ 2.5clicks = 1回のクリックで0.4秒= 400msごとに1回のクリック)。私が正しく理解していれば、各アフィリエイトが400msごとに1回クリックするようにしてください。

第2のスレッドグループの定数タイマーは4000msです(タイマーは遅延で、4000msecは最初のスレッドグループの10%の要求になるはずです)。

ユーザーを増やしても結果は良好です(たとえば、スレッドグループあたり150ユーザー(合計300ユーザー))、結果はAdRequestのAdClick 10%になりません。 1分間の私のテストを実行

は、私は、次を得る: AdsRequestを= 4695のサンプル AdsClicked = 1568個のサンプルをAdsClicked約470サンプル

でなければなりません

だから私の質問は:私は私を設定することができますどのように現在システムを使用しているユーザーの数にかかわらず、アドクリックされたAdRequestsのサンプルが常に10%あります。

答えて

0
  1. 設定は固定タイマーの位置に関してはあまり正しくありません。 Timers Documentationによれば、タイマーはそれらが見出される範囲内の各サンプラー前を処理さ

    注意。同じスコープ内に複数のタイマーがある場合、サンプラーの前にすべてのタイマーが処理されます。

    タイマーはサンプラーとのみ処理されます。サンプラーと同じスコープではないタイマーはまったく処理されません。 単一サンプラーにタイマーを適用するには、タイマーをサンプラーの子要素として追加します。タイマーは、サンプラーが実行される前に適用されます。サンプラーの後にタイマーを適用するには、それを次のサンプラーに追加するか、それをTest Action Samplerの子として追加します。

  2. あなたはこの要件のためにタイマーを使用して、正確な10%のマッチの保証を持っていないとして、Constant Throughput TimerThroughput Shaping Timer

  3. を考慮した方がよいスループット(秒あたりの要求)を操作する必要がある場合:どのように多くのユーザー、現在のシステムを使用しているの

    関わらず

    あなたに両方のサンプラーを1つのスレッドグループの下に移動し、Throughput ControllerまたはSwitch Controllerを使用して、AdsClicked要求がAdRequestsの10%になるようにすることができます。このアプローチの詳細については、Running JMeter Samplers with Defined Percentage Probabilityの記事を参照してください。

関連する問題