一定スループットタイマーは、通常、スループットを制御するために使用されます。 ストレステストスクリプトのビジネス目的基づいて、異なる計算モードを使用できます。 分散ロードジェネレーターをストレステストに使用する場合、異なるストレステストモデルに合わせて、スクリプトのパラメーター値とモードを適切に設定する必要があります。 このトピックでは、シナリオ別に一般的に使用される 2 つの計算モードと、異なる計算モードの分散適応パフォーマンスについて説明します。
背景情報
グローバル分散適応モードと単一分散適応モードを使用できます。 この例では、2 つの IP アドレスを使用して、スレッドグループ内で 100 人の仮想ユーザーをシミュレートします。 スクリプトでは、ターゲットスループットは 1 分あたり 100 リクエストに設定され、計算モードは [このスレッドのみ] に設定されています。
グローバル分散適応モードでは、スクリプトのしきい値は、クラスター内のすべてのロードジェネレーターの合計しきい値として適用されます。 単一ロードジェネレーターのしきい値 = スクリプトのしきい値 / IP アドレスの数。 この場合、合計ターゲットスループットは、次の式を使用して計算されます。2 × (仮想ユーザー / 2) × (ターゲットスループット / 2) = 1 分あたり 5,000 リクエスト。
単一分散適応モードでは、スクリプトのしきい値は各ロードジェネレーターに適用されます。 仮想ユーザーの負荷レベルは、設定値と一致する必要があることに注意してください。 この場合、合計ターゲットスループットは、次の式を使用して計算されます。2 × (仮想ユーザー / 2) × ターゲットスループット = 1 分あたり 10,000 リクエスト。
シナリオ
ほとんどの場合、サンプラー、スレッドグループ、または複数のスレッドグループが使用可能な場合はシナリオ全体のスループットしきい値を設定できます。 複雑な粒度でスループットしきい値を設定しないことをお勧めします。 この例では、2 つの IP アドレスを使用して、スレッドグループ内で 100 人の仮想ユーザーをシミュレートします。 スクリプトでは、ターゲットスループットは 1 分あたり 100 リクエストに設定されています。
シナリオ 1:サンプラーのスループットしきい値を設定する
[PTSコンソール]にログオンします。JMeter にログインし、 を選択し、 をクリックします。
[詳細設定] セクションで、単一ジェネレーター一定スループットタイマー セクションで、 に を選択します。
説明[シナリオ設定] タブの [分散適応] セクションのパラメーターは、アップロードしたスクリプトにタイマーが設定されている場合にのみ表示されます。

JMeter スクリプトでは、Constant Throughput Timer を
Samplerの下に配置します。次の図に示すように、[ターゲットスループット] パラメーターを
100(分単位)に設定します。 [選択]this thread onlyスループットの計算基準
パラメーターを (分単位)に設定します。 [スループットの計算基準] に を選択します。
シナリオ 2:スレッドグループのスループットしきい値を設定する
[PTSコンソール]にログオンします。JMeter にログインし、 を選択し、 をクリックします。
[詳細設定] セクションで、グローバル一定スループットタイマー セクションで、 に を選択します。
説明[シナリオ設定] タブの [分散適応] セクションのパラメーターは、アップロードしたスクリプトにタイマーが設定されている場合にのみ表示されます。

JMeter スクリプトでは、Constant Throughput Timer を
Thread Groupの下に配置します。次の図に示すように、[ターゲット スループット] パラメーターを
100(分単位)に設定します。現在のスレッドグループ内のすべてのアクティブなスレッド[スループットの計算基準] には を選択します。
パラメーターを (分単位)に設定します。 [スループットの計算基準] に を選択します。
5 つの計算モード
この例では、1 つのロードジェネレーターを使用して、それぞれ 100 人の仮想ユーザーと 200 人の仮想ユーザーを含む 2 つのスレッドグループをシミュレートします。 各スレッドグループに 2 つのサンプラーが設定されています。 スクリプトでは、[ターゲットスループット] は 1 分あたり 100 リクエストに設定されています。
この例は参照用です。 詳細については、Apache JMeter のドキュメントをご参照ください。
計算モード | 説明 | 備考 |
このスレッドのみ | ターゲットスループットは各スレッドに適用されます。 スレッドグループの合計スループットは、次の式を使用して計算されます。仮想ユーザー × ターゲットスループット。 | アイドルスレッドのスループットはありません。 各サンプラーのスループットは、次の式を使用して計算できます。
|
すべてのアクティブスレッド | 設定されたターゲットスループットは、すべてのスレッドグループのすべてのアクティブスレッドに適用されます。 スレッドが終了した後、スレッドは一定時間待機してから再実行されます。 これはスループットの制御に役立ちます。 | 複数のスレッドグループが使用可能な場合は、次の項目に注意してください。
|
現在のスレッドグループ内のすべてのアクティブスレッド | 設定されたターゲットスループットは、現在のスレッドグループのアクティブスレッドに適用されます。 スレッドが終了した後、スレッドは一定時間待機してから再実行されます。 これはスループットの制御に役立ちます。 | スレッドグループが 1 つしかない場合は、前の計算モードと同じルールが適用されます。 次の項目に注意してください。
|
すべてのアクティブスレッド(共有) | 設定されたターゲットスループットは、すべてのスレッドグループのすべてのアクティブスレッドに適用されます。 すべてのアクティブスレッドが終了した後、すべてのスレッドは一定時間待機してから再実行されます。 これはスループットの制御に役立ちます。 | シナリオ全体で [命令の追加] ドロップダウンリストから [遅延] を選択すると、同様のパフォーマンスを実現できます。 すべてのアクティブスレッドが終了した後、スレッドを再実行できます。 次の項目に注意してください。
|
現在のスレッドグループ内のすべてのアクティブスレッド(共有) | 構成済みのターゲットスループットは、現在のスレッドグループ内のすべてのアクティブスレッドに適用されます。すべてのアクティブスレッドが終了した後、すべてのスレッドは一定時間待機してから再実行されます。これは、スループットの制御に役立ちます。 | 現在のスレッドグループ内のすべてのアクティブスレッドが終了した後、スレッドは一定時間待機してから再実行されます。
|
他のコンピューティングモードの分散適応
コンピューティングモード | シナリオ | グローバルモード | シングルモード |
すべてのアクティブスレッド | このコンピューティングモードは、スループットが制御されるシナリオ全体に適しています。複数のスレッドグループのビジネスモデルは似ています。シナリオ全体のスループットは固定されています。このようにして、スループットを各スレッドグループに均等に分散できます。 | ロードジェネレーターを使用して 50 の仮想ユーザーをシミュレートします。ロードジェネレーターのスループットは 1 分あたり 50 リクエストで、これは目標スループットを 2 で割ることによって得られます。グローバルスループットは 1 分あたり 100 リクエストのままです。複数のスレッドグループが使用可能な場合、スループットは累積されます。 | ロードジェネレーターを使用して 50 の仮想ユーザーをシミュレートします。ロードジェネレーターのスループットは 1 分あたり 100 リクエストです。グローバルスループットは 1 分あたり 200 リクエストで、これは目標スループットに IP アドレスの数を掛けたものです。複数のスレッドグループが使用可能な場合、スループットは累積されます。 |
すべてのアクティブスレッド(共有) | スループットはシナリオ全体に適用されますが、スレッドグループには適用されません。スループットは、複数のスレッドグループの累積値よりもわずかに低くなります。 | スループットは、スレッドグループ 1 では 1 分あたり 100 リクエスト、スレッドグループ 2 では 1 分あたり 200 リクエストです。グローバルスループットは 1 分あたり 150 リクエストで、これは 2 つのスレッドグループの平均値です。 | スループットは、スレッドグループ 1 では 1 分あたり 100 リクエスト、スレッドグループ 2 では 1 分あたり 200 リクエストです。ロードジェネレーターのスループットは 150 で、これは次の式を使用して計算されます。(100 + 200)/2。グローバルスループットは 1 分あたり 300 リクエストです。ロードジェネレーターの複数のサンプラーがバランスに達するには、長い時間がかかります。 |
現在のスレッドグループ内のすべてのアクティブスレッド(共有) | スループットは、スレッドグループ内のすべてのアクティブスレッドに適用されます。グローバルスループットは、複数のスレッドグループの累積値よりもわずかに低くなります。 | スレッドグループ 1 のスループットが 1 分あたり 100 リクエスト、スレッドグループ 2 のスループットが 1 分あたり 200 リクエストの場合、グローバルスループットは 1 分あたり 300 リクエストで、これはスレッドグループ 1 とスレッドグループ 2 の累積値です。 | スレッドグループ 1 のスループットが 1 分あたり 100 リクエスト、スレッドグループ 2 のスループットが 1 分あたり 200 リクエストの場合、ロードジェネレーターのスループットは 1 分あたり 300 リクエスト、グローバルスループットは 1 分あたり 600 リクエストです。ロードジェネレーターの複数のサンプラーがバランスに達するには、短い時間がかかります。 |