- ARMルールでは、集合ルール タイプのみがサポートされています。個人およびメンバーのルール タイプはサポートされません。
- 各ARMルールは単一の時間単位に制限されています。複数の状態にわたって時間単位を混在させることはできません。セカンダリ状態が基本状態と異なる時間単位を使用している場合、セカンダリ状態の時間単位は無視され、代わりに基本状態の時間単位が使用されます。警告はDBC.TDWMEventLogテーブルに書き込まれます。
- TDWMは、ARMルールごとに、指定した時間単位内に許可されたリクエストの数を追跡します。
- 各ARMカウンタは、応答性を高めるために6つの等しい間隔に分割されています。例えば、分ベースのARMルールは、6つの10秒間隔に分割されます。
- 現在の到着率は、6つの間隔のカウントを合計したものです。
- 各間隔には、開始時刻、有効期限、およびクエリーの到着数が設定されています。分ベースのARMルールの例:
間隔番号 開始時刻 有効期限 到着したリクエストの数 1 8:00:00 8:01:00 1 2 8:00:10 8:01:10 2 3 8:00:20 8:01:20 0 4 8:00:30 8:01:30 4 5 8:00:40 8:01:40 2 6 8:00:50 8:01:50 1 現在の到着率= 10/分 - 間隔が期限切れになると、新しい開始時刻、有効期限、および間隔数を使用して新しい間隔が作成されます。期限切れの間隔数は、ARM数から論理的に差し引かれます。ARM数が制限を下回っている場合、TDWMは、遅延したクエリーを許可してシステムに取り込むことができるかどうかを確認します。TDWMは、ARMの制限に達するまで、遅延したクエリーを許可し続けることができます。
- ARM数は、クエリーのアドミッション時間に基づいています。クエリー自体の経過時間は関係ありません。ARM数がゼロに低下しても、関連するクエリーが実行されている可能性があります(秒ベースのARMルールを使用していて、クエリーが数秒間実行される場合など)。逆に、クエリーが完了しても、ARMルールが引き続きカウントされることがあります(時間ベースのARMルールを使用していて、クエリーが数秒間実行される場合など)。
- ARMルールがゼロ以外の適格時間で定義されている場合は、必要な適格時間が満たされるまで、現在のARMレートが制限を超える可能性があります。
これは、1分あたりのリクエスト数が10、適格時間が0のARM制限があるARMカウンタの動作の例です。
間隔番号 | インターバル時間 | 有効期限 | 到着したリクエストの数 | 現在の到着率 | 遅延キューの長さ | コメント |
---|---|---|---|---|---|---|
1 | 8:00:00 - 8:00:09 | 08:01:00 | 1 | 1 | 0 | 最初のリクエストが許可されます。現在のレートは1に設定されます。 |
2 | 8:00:10 - 8:00:19 | 08:01:10 | 2 | 3 | 0 | 2番目と3番目のリクエストが許可されます。現在のレートは3に設定されます。 |
3 | 8:00:20 - 8:00:29 | 08:01:20 | 2 | 5 | 0 | 4番目と5番目のリクエストが許可されます。 |
4 | 8:00:30 - 8:00:39 | 08:01:30 | 3 | 8 | 0 | 6番目、7番目、8番目のリクエストが許可されます。 |
5 | 8:00:40 - 8:00:49 | 08:01:40 | 2 | 10 | 0 | 9番目と10番目のリクエストが許可されます。 |
6 | 8:00:50 - 8:00:59 | 08:01:50 | 1 | 10 | 1 | 現在の到着率が制限に達したため、11番目のリクエストが遅延キューに追加されます。 |
7 | 8:01:00 - 8:01:09 | 8:02:00 | 3 | 10=>9=>10 | 3 | 最初のリクエストが現在のレートでカウントされなくなりました。現在のレートは9に低下します。1つの遅延要求(11番目の遅延要求など)が解放されます。現在のレートは10に戻ります。この間隔で到着する3つの新しいリクエストが遅延キューに追加されます(合計3つ)。 |
8 | 8:01:10 - 8:01:19 | 8:02:10 | 10=>8=>10 | 1 | 2番目と3番目のリクエストが現在のレートでカウントされなくなりました。レートは8に低下します。2つの遅延リクエストが解放されます。現在のレートは10に戻ります。この間隔で到着する新しいリクエストはなくなります。1つのリクエストが遅延キューに残ります。 | |
9 | 8:01:20 - 8:01:29 | 8:02:20 | 10=>8=>9 | 4番目と5番目のリクエストが現在のレートでカウントされなくなりました。レートは8に低下します。1つの遅延リクエストが解放されます。現在のレートは最大で9になり、延期キューは空になります。 | ||
10 | 8:01:30 - 8:01:39 | 8:02:30 | 6 | 6番目、7番目、および8番目のリクエストが現在のレートでカウントされなくなりました。レートは6に下がります。 |