Zásady omezení četnosti požadavků

Zásady omezení četnosti požadavků skupiny úloh umožňují omezit počet souběžných požadavků klasifikovaných do skupiny úloh podle skupiny úloh nebo podle objektu zabezpečení.

Omezení četnosti se vynucují na úrovni definované zásadou vynucení omezení četnosti požadavků skupiny úloh.

Objekt zásad

Zásada omezení četnosti požadavků má následující vlastnosti:

Name Podporované hodnoty Description
IsEnabled true, false Označuje, jestli je zásada povolená, nebo ne.
Obor WorkloadGroup, Principal Obor, na který se limit vztahuje.
LimitKind ConcurrentRequests, ResourceUtilization Druh limitu četnosti požadavků
Vlastnosti Kontejner nemovitostí Vlastnosti limitu četnosti požadavků

Limit četnosti souběžných požadavků

Druh ConcurrentRequests limitu frekvence požadavků zahrnuje následující vlastnost:

Název Typ Popis Podporované hodnoty
MaxConcurrentRequests int Maximální počet souběžných požadavků. [0, 10000]

Poznámka

  • Pokud skupina úloh nemá zadaný limit maximálního počtu souběžných požadavků, podléhá výchozí maximální hodnotě 10000.

Pokud požadavek překročí limit maximálního počtu souběžných požadavků:

  • Stav požadavku, jak je prezentován příkazy Systémové informace, bude Throttled.
  • Chybová zpráva bude obsahovat původ omezení a překročení kapacity .

Následující tabulka uvádí několik příkladů souběžných požadavků, které překračují maximální limit, a chybovou zprávu, kterou tyto požadavky vrací:

Scenario Chybová zpráva
.create table Omezený příkaz klasifikovaný do default skupiny úloh, který má limit 80 souběžných požadavků v rozsahu skupiny úloh. Příkaz pro správu byl přerušen z důvodu omezování. Opakování po určitém zpochybnění může být úspěšné. CommandType: 'TableCreate', Capacity: 80, Origin: 'RequestRateLimitPolicy/WorkloadGroup/default'.
Omezený dotaz, který byl klasifikován do skupiny úloh s názvem MyWorkloadGroup, která má limit 50 souběžných požadavků v rozsahu skupiny úloh. Dotaz byl přerušen z důvodu omezování. Opakování po určitém zpochybnění může být úspěšné. Kapacita: 50, Origin: RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup.
Omezený dotaz klasifikovaný do skupiny úloh s názvem MyWorkloadGroup, která má limit 10 souběžných požadavků v oboru objektu zabezpečení. Dotaz byl přerušen z důvodu omezování. Opakování po určitém zpochybnění může být úspěšné. Kapacita: 10, Origin: 'RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup/Principal/aaduser=9e04c4f5-1abd-48d4-a3d2-9f58615b4724; 6ccf3fe8-6343-4be5-96c3-29a128dd9570'.
  • Kód odpovědi HTTP bude 429. Podkód bude TooManyRequests.
  • Typ výjimky bude QueryThrottledException pro dotazy a ControlCommandThrottledException pro příkazy pro správu.

Poznámka

  • Pokud dojde k překročení některého z limitů definovaných zásadou kapacity nebo zásadou omezení četnosti požadavků, příkaz pro správu se omezí.
  • Zásady kapacity můžou omezit frekvenci požadavků, které spadají do konkrétní kategorie, například příjmu dat.

Omezení míry využití prostředků

Druh ResourceUtilization limitu frekvence požadavků zahrnuje následující vlastnosti:

Název Typ Popis Podporované hodnoty
ResourceKind ResourceKind Prostředek, který chcete omezit.

Pokud ResourceKind je TotalCpuSecondshodnota , limit se vynucuje na základě sestav po spuštění využití procesoru u dokončených požadavků. Požadavky, které hlásí využití procesoru 0,005 sekundy nebo nižší, se nezapočítávají. Limit (MaxUtilization) představuje celkový počet sekund procesoru, které můžou požadavky spotřebovat v zadaném časovém intervalu (TimeWindow). Například uživatel, který spouští ad hoc dotazy, může mít limit 1 000 sekund procesoru za hodinu. Pokud dojde k překročení tohoto limitu, následné dotazy budou omezeny, i když budou spuštěny souběžně, protože kumulativní sekundy procesoru překročily definovaný limit v období posuvného okna.
RequestCount, TotalCpuSeconds
MaxUtilization long Maximální počet prostředků, které je možné využít. RequestCount: [1, 16777215]; TotalCpuSeconds: [1, 828000]
TimeWindow timespan Klouzavý časový interval, během kterého se limit uplatňuje. [00:01:00, 1.00:00:00]

Pokud požadavek překročí limit využití prostředků:

  • Stav požadavku, jak je prezentován příkazy Systémové informace, bude Throttled.
  • Chybová zpráva bude obsahovat původ omezení a překročení kvóty . Příklad:

Následující tabulka uvádí několik příkladů požadavků, které překračují limit míry využití prostředků, a chybovou zprávu, kterou tyto požadavky vrací:

Scenario Chybová zpráva
Omezený požadavek, který byl klasifikován do skupiny úloh s názvem Automated Requests, která má limit 1 000 požadavků za hodinu v rozsahu objektu zabezpečení. Žádost byla zamítnuta kvůli překročení omezení kvóty. Prostředek: RequestCount, Kvóta: 1000, TimeWindow: 01:00:00, Origin: RequestRateLimitPolicy/WorkloadGroup/Automated Requests/Principal/aadapp=9e04c4f5-1abd-48d4-a3d2-9f58615b4724; 6ccf3fe8-6343-4be5-96c3-29a128dd9570'.
Omezený požadavek, který byl klasifikován do skupiny úloh s názvem Automated Requests, která má limit 2 000 celkového počtu sekund procesoru za hodinu v rozsahu skupiny úloh. Žádost byla zamítnuta kvůli překročení omezení kvóty. Prostředek: TotalCpuSeconds, Kvóta: 2000, TimeWindow: 01:00:00, Origin: RequestRateLimitPolicy/WorkloadGroup/Automated Requests.
  • Kód odpovědi HTTP bude 429. Podkód bude TooManyRequests.
  • Typ výjimky bude QuotaExceededException.

Vliv konzistence na omezení četnosti

Se silnou konzistencí závisí výchozí limit maximálního počtu souběžných požadavků na skladovou položku clusteru a vypočítá se takto: Cores-Per-Node x 10. Například cluster, který je nastavený s uzly Azure D14_v2, kde má každý uzel 16 virtuálních jader, bude mít výchozí limit 16 x 10 = 160.

Se slabou konzistencí závisí efektivní výchozí limit maximálního počtu souběžných požadavků na skladovou položku clusteru a počtu hlaviček dotazů a vypočítá se takto: Cores-Per-Node x 10 x Number-Of-Query-Heads. Například cluster, který je nastavený s Azure D14_v2 a 5 hlavičkami dotazů, kde má každý uzel 16 virtuálních jader, bude mít efektivní výchozí limit 16 x 10 x8005 = .

Další informace najdete v tématu Konzistence dotazů.

Skupina default úloh

Skupina default úloh má ve výchozím nastavení definované následující zásady. Tuto zásadu je možné změnit.

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

Poznámka

  • Když změníte zásady pro default skupinu úloh, musí být definován limit maximálního počtu souběžných požadavků.

Příklady

Následující zásady umožňují:

  • 500 souběžných požadavků na skupinu úloh
  • 25 souběžných požadavků na objekt zabezpečení.
  • 50 požadavků na objekt zabezpečení za hodinu
[
  {
    "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"
    }
  }
]

Následující zásady zablokují všechny požadavky klasifikované do skupiny úloh:

[
  {
    "IsEnabled": true,
    "Scope": "WorkloadGroup",
    "LimitKind": "ConcurrentRequests",
    "Properties": {
      "MaxConcurrentRequests": 0
    }
  },
]