RPS は 1 秒あたりのリクエスト数であり、通常は JMeter エンジン下での負荷の動作を示します。 API パフォーマンスのテストに適しています。このトピックでは、JMeter ベースのシナリオで RPS を制御する方法について説明します。
RPS 制限の設定
既存の JMeter スクリプトを再利用するために、PTS は JMeter テストをサポートしています。デフォルトでは、JMeter エンジンは同時実行モードで実行されます。RPS は、同時実行数と応答時間によって決まります。 同時実行数が少なすぎると、予期しない RPS になる可能性があります。同時実行数が多いと、サーバーが過負荷になる可能性があります。 したがって、JMeter は RPS を制限するために Constant Throughput Timer コンポーネントを提供しています。
次の手順を実行することで、JMeter スクリプトのスレッドグループに [constant Throughput Timer] ノードを追加して、このスレッドグループの RPS を制限できます。次の図は、JMeter シナリオで RPS を制御する方法を示しています。

使用上の注意:
[constant Throughput Timer] ノードを設定する際には、次の項目に注意してください。
[calculate Throughput Based On] は [this Thread Only] に設定する必要があります。その後、トリガーされた操作は単一のスレッドを使用して実行されます。PTS は、同時実行数に基づいて、異なるシナリオで複数の JMeter エンジンを自動的に起動します。その他の設定は、単一のエンジンに対してのみ有効です。したがって、最大 RPS と最大同時実行数を設定することで、グローバルな最大 RPS を取得できます。
[target Throughput]([constant Throughput Timer] の)は分単位で表されます。__jexl3 を使用して、RPS に 60 秒(1 分 = 60 秒)を掛けることができます。 単一のスレッドで
0.5RPS を取得するには、[target Throughput] を${__jexl3(0.5 x 60)}に設定します。グローバル RPS 制限を同時実行数で割ることで、単一のスレッドの RPS 制限を取得できます。
設定例:

要約すると、JMeter テスト中の RPS の制御は、設定された同時実行数に依存しており、それに応じて調整することはできず、必要な機能をサポートしていない可能性があります。RPS でのテストを実装するには、PTS シナリオを作成することをお勧めします。このシナリオでは、秒単位での RPS の設定と調整がサポートされています。詳細については、「負荷モデルとレベルの設定」をご参照ください。