次の方法で共有


要求レート制限ポリシー

適用対象: ✅Microsoft FabricAzure Data Explorer

ワークロード グループの要求レート制限ポリシーを使用すると、ワークロード グループ、ワークロード グループ、またはプリンシパルごとに分類される同時要求の数を制限できます。

レート制限は、ワークロード グループの 要求レート制限適用ポリシーによって定義されたレベルで適用されます。

ポリシー オブジェクト

要求レート制限ポリシーには、次のプロパティがあります。

名前 サポートされている値 形容
IsEnabled truefalse ポリシーが有効かどうかを示します。
スコープ WorkloadGroupPrincipal 制限が適用されるスコープ。
LimitKind ConcurrentRequestsResourceUtilization 要求レート制限の種類。
プロパティ プロパティ バッグ 要求レート制限のプロパティ。

同時要求のレート制限

種類 ConcurrentRequests の要求レート制限には、次のプロパティが含まれます。

名前 種類 形容 サポートされている値
MaxConcurrentRequests int 同時要求の最大数。 [0, 10000]

手記

  • ワークロード グループが同時要求の最大数に対して指定された制限を持っていない場合は、既定の最大値である 10000が適用されます。

要求が同時要求の最大数の制限を超えた場合:

  • システム情報コマンド表示される要求の状態は、Throttledされます。
  • エラー メッセージには、調整の 配信元の と、超過した 容量 が含まれます。

次の表は、上限を超える同時要求の例と、これらの要求が返すエラー メッセージを示しています。

シナリオ エラーメッセージ
default ワークロード グループに分類された調整された .create table コマンド。ワークロード グループのスコープでの同時要求数は 80 個に制限されています。 調整のため、管理コマンドが中止されました。 バックオフ後の再試行が成功する可能性があります。 CommandType: 'TableCreate'、Capacity: 80、Origin: 'RequestRateLimitPolicy/WorkloadGroup/default'。
MyWorkloadGroupという名前のワークロード グループに分類された調整されたクエリ。ワークロード グループのスコープでの同時要求数は 50 個に制限されています。 スロットルが原因でクエリが中止されました。 バックオフ後の再試行が成功する可能性があります。 容量: 50、配信元: 'RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup'。
MyWorkloadGroupという名前のワークロード グループに分類された調整されたクエリ。プリンシパルのスコープでの同時要求数は 10 個に制限されています。 スロットルが原因でクエリが中止されました。 バックオフ後の再試行が成功する可能性があります。 容量: 10, Origin: 'RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup/Principal/aaduser=9e04c4f5-1abd-48d4-a3d2-9f58615b4724;6ccf3fe8-6343-4be5-96c3-29a128dd9570'.
  • HTTP 応答コードが 429されます。 サブコードが TooManyRequestsされます。
  • 例外の種類は、クエリに対して QueryThrottledException され、管理コマンドの ControlCommandThrottledException されます。

手記

  • 容量ポリシー または要求レート制限ポリシーによって定義された制限のいずれかを超えると、管理コマンドが調整されます。
  • 容量ポリシー では、インジェストなど、特定のカテゴリに該当する要求の要求レートが制限される場合があります。

リソース使用率の制限

種類 ResourceUtilization の要求レート制限には、次のプロパティが含まれます。

名前 種類 形容 サポートされている値
ResourceKind ResourceKind 制限するリソース。

ResourceKindTotalCpuSecondsされると、完了した要求の CPU 使用率の実行後レポートに基づいて制限が適用されます。 0.005 秒以下の CPU 使用率を報告する要求はカウントされません。 制限 (MaxUtilization) は、指定された時間枠 (TimeWindow) 内の要求で使用できる CPU の合計秒数を表します。 たとえば、アドホック クエリを実行しているユーザーには、1 時間あたり 1000 CPU 秒という制限がある場合があります。 この制限を超えた場合、累積 CPU 秒がスライディング ウィンドウ期間内に定義された制限を超えたので、同時に開始された場合でも、後続のクエリは調整されます。
RequestCountTotalCpuSeconds
MaxUtilization long 使用できるリソースの最大値。 RequestCount: [1, 16777215];TotalCpuSeconds: [1, 828000]
TimeWindow timespan 制限が適用されるスライディング 時間枠。 [00:01:00, 1.00:00:00]

要求がリソース使用率の制限を超えた場合:

  • システム情報コマンド表示される要求の状態は、Throttledされます。
  • エラー メッセージには、調整の 配信元の と、超過した クォータが含まれます。 例えば:

次の表は、リソース使用率の制限を超える要求の例と、これらの要求が返すエラー メッセージを示しています。

シナリオ エラーメッセージ
Automated Requestsという名前のワークロード グループに分類された調整された要求。プリンシパルのスコープでは、1 時間あたり 1000 要求の制限があります。 クォータ制限を超えたため、要求が拒否されました。 Resource: 'RequestCount', Quota: '1000', TimeWindow: '01:00:00', Origin: 'RequestRateLimitPolicy/WorkloadGroup/Automated Requests/Principal/aadapp=9e04c4f5-1abd-48d4-a3d2-9f58615b4724;6ccf3fe8-6343-4be5-96c3-29a128dd9570'.
Automated Requestsという名前のワークロード グループに分類された調整された要求。ワークロード グループのスコープで、1 時間あたり合計 CPU 秒が 2000 に制限されています。 クォータ制限を超えたため、要求が拒否されました。 リソース: 'TotalCpuSeconds'、クォータ: '2000'、TimeWindow: '01:00:00'、Origin: 'RequestRateLimitPolicy/WorkloadGroup/Automated Requests'。
  • HTTP 応答コードが 429されます。 サブコードが TooManyRequestsされます。
  • 例外の種類が QuotaExceededExceptionされます。

整合性がレート制限に与える影響

厳密な整合性では、同時要求の最大数に対する既定の制限はクラスターの SKU によって異なり、Cores-Per-Node x 10として計算されます。 たとえば、各ノードに 16 個の仮想コアがある Azure D14_v2 ノードを使用して設定されたクラスターには、既定で 16 x 10 = 160の制限があります。

一貫性が弱い場合、同時要求の最大数に対する有効な既定の制限は、クラスターの SKU とクエリ ヘッドの数によって異なり、Cores-Per-Node x 10 x Number-Of-Query-Headsとして計算されます。 たとえば、Azure D14_v2 と 5 個のクエリ ヘッドを使用して設定されたクラスターでは、各ノードに 16 個の仮想コアがある場合、16 x 10 x 5 = 800の有効な既定の制限があります。

厳密な整合性では、同時要求の最大数に対する既定の制限はイベントハウスの SKU によって異なり、Cores-Per-Node x 10として計算されます。 たとえば、各ノードに 16 個の仮想コアがある Azure D14_v2 ノードで設定されたイベントハウスには、既定で 16 x 10 = 160の制限があります。

一貫性が弱い場合、最大同時要求に対する有効な既定の制限は、イベントハウスの SKU とクエリ ヘッドの数によって異なり、Cores-Per-Node x 10 x Number-Of-Query-Headsとして計算されます。 たとえば、Azure D14_v2 と 5 個のクエリ ヘッドを使用して設定されたイベントハウスでは、各ノードに 16 個の仮想コアがある場合、16 x 10 x 5 = 800の有効な既定の制限があります。

詳細については、「クエリの整合性」を参照してください。

default ワークロード グループ

default ワークロード グループには、既定で次のポリシーが定義されています。 このポリシーは変更できます。

[
  {
    "IsEnabled": true,
    "Scope": "WorkloadGroup",
    "LimitKind": "ConcurrentRequests",
    "Properties": {
      "MaxConcurrentRequests": < Cores-Per-Node x 10 >
    }
  }
]

手記

  • default ワークロード グループのポリシーを変更する場合は、同時要求の最大数に対して制限を定義する必要があります。

次のポリシーでは、最大で次の設定が可能です。

  • ワークロード グループに対する 500 件の同時要求。
  • プリンシパルあたり 25 件の同時要求。
  • プリンシパルあたり 1 時間あたり 50 要求。
[
  {
    "IsEnabled": true,
    "Scope": "WorkloadGroup",
    "LimitKind": "ConcurrentRequests",
    "Properties": {
      "MaxConcurrentRequests": 500
    }
  },
  {
    "IsEnabled": true,
    "Scope": "Principal",
    "LimitKind": "ConcurrentRequests",
    "Properties": {
      "MaxConcurrentRequests": 25
    }
  },
  {
    "IsEnabled": true,
    "Scope": "Principal",
    "LimitKind": "ResourceUtilization",
    "Properties": {
      "ResourceKind": "RequestCount",
      "MaxUtilization": 50,
      "TimeWindow": "01:00:00"
    }
  }
]

次のポリシーは、ワークロード グループに分類されたすべての要求をブロックします。

[
  {
    "IsEnabled": true,
    "Scope": "WorkloadGroup",
    "LimitKind": "ConcurrentRequests",
    "Properties": {
      "MaxConcurrentRequests": 0
    }
  },
]
  • ワークロード グループ を する
  • 要求レート制限適用ポリシーの
  • .alter-merge workload_group コマンド を する
  • .create-or-alter workload_group コマンド を する
  • .drop workload_group コマンド を する
  • .show workload_group コマンド を する