Zásady omezení četnosti požadavků
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer
Zásady omezení četnosti požadavků skupiny úloh umožňují omezit počet souběžných požadavků klasifikovaných do skupiny úloh, na skupinu úloh nebo na objekt zabezpečení.
Omezení rychlosti se vynucují na úrovni definované zásadou vynucení omezení rychlosti požadavků skupiny úloh.
Objekt zásad
Zásada omezení četnosti požadavků má následující vlastnosti:
Jméno | Podporované hodnoty | Popis |
---|---|---|
IsEnabled |
true , false |
Označuje, jestli je zásada povolená nebo ne. |
Rozsah |
WorkloadGroup , Principal |
Rozsah, na který se limit vztahuje. |
LimitKind |
ConcurrentRequests , ResourceUtilization |
Druh limitu četnosti požadavků. |
Vlastnosti | Taška vlastností | Vlastnosti limitu rychlosti požadavků. |
Limit četnosti souběžných požadavků
Omezení četnosti požadavků typu ConcurrentRequests
zahrnuje následující vlastnost:
Jméno | 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
.
Když požadavek překročí limit maximálního počtu souběžných požadavků:
- Stav požadavku, jak je uvedeno příkazy systémové informace, budou
Throttled
. - Chybová zpráva bude obsahovat původ omezování a kapacitu, která byla překročena.
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 vracejí:
Scénář | Zpráva o chybě |
---|---|
Omezený .create table příkaz klasifikovaný do skupiny úloh default , který má limit 80 souběžných požadavků v oboru skupiny úloh. |
Příkaz pro správu byl přerušen kvůli omezování. Opakování po nějakém zpochybnění může proběhnout úspěšně. CommandType: 'TableCreate', Capacity: 80, Origin: 'RequestRateLimitPolicy/WorkloadGroup/default'. |
Omezený dotaz klasifikovaný do skupiny úloh s názvem MyWorkloadGroup , který má limit 50 souběžných požadavků v oboru skupiny úloh. |
Dotaz byl přerušen kvůli omezování. Opakování po nějakém zpochybnění může proběhnout ú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 kvůli omezování. Opakování po nějakém zpochybnění může proběhnout ú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 budeTooManyRequests
. - Typ výjimky bude
QueryThrottledException
pro dotazy aControlCommandThrottledException
pro příkazy pro správu.
Poznámka
Omezení rychlosti využití prostředků
Omezení rychlosti požadavků typu ResourceUtilization
zahrnuje následující vlastnosti:
Jméno | Typ | Popis | Podporované hodnoty |
---|---|---|---|
ResourceKind | ResourceKind |
Prostředek, který se má omezit. Při ResourceKind TotalCpuSeconds se limit vynucuje na základě sestav po spuštění sestav využití procesoru dokončených požadavků. Požadavky, které hlásí využití procesoru o 0,005 sekundách nebo nižší, se nepočítají. Limit (MaxUtilization ) představuje celkový počet sekund procesoru, které můžou požadavky spotřebovávat v zadaném časovém intervalu (TimeWindow ). Uživatel, který spouští ad hoc dotazy, může mít například limit 1 000 sekund procesoru za hodinu. Pokud dojde k překročení tohoto limitu, další dotazy se omezí, i když se spustí souběžně, protože kumulativní sekundy procesoru překročily definovaný limit v období posuvného okna. |
RequestCount , TotalCpuSeconds |
Maximální využití | long |
Maximální počet prostředků, které je možné využít | RequestCount: [1 , 16777215 ]; TotalCpuSeconds: [1 , 828000 ] |
TimeWindow | timespan |
Posuvné časové období, během kterého se limit použije. | [00:01:00 , 1.00:00:00 ] |
Když požadavek překročí limit využití prostředků:
- Stav požadavku, jak je uvedeno příkazy systémové informace, budou
Throttled
. - Chybová zpráva bude obsahovat původu omezování a překročení kvóty. Napří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, že tyto požadavky vrací:
Scénář | Zpráva o chybě |
---|---|
Omezený požadavek klasifikovaný 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, Quota: '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 2000 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 budeTooManyRequests
. - Typ výjimky bude
QuotaExceededException
.
Vliv konzistence na omezení četnosti
Při silné konzistenci 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 každý uzel má 16 virtuálních jader, bude mít výchozí limit 16
x 10
= 160
.
Při slabé konzistenci závisí efektivní výchozí limit maximálního počtu souběžných požadavků na skladovou položku clusteru a počtu hlav dotazů a vypočítá se takto: Cores-Per-Node x 10 x Number-Of-Query-Heads
. Například cluster, který je nastavený pomocí Azure D14_v2 a 5 hlaviček dotazů, kde má každý uzel 16 virtuálních jader, bude mít efektivní výchozí limit 16
x 10
x 5
= 800
.
Při silné konzistenci závisí výchozí limit maximálního počtu souběžných požadavků na skladovou položku centra událostí a vypočítá se jako: Cores-Per-Node x 10
. Například eventhouse, který je nastavený s uzly Azure D14_v2, kde každý uzel má 16 virtuálních jader, bude mít výchozí limit 16
x 10
= 160
.
Při slabé konzistenci závisí efektivní výchozí limit maximálního počtu souběžných požadavků na skladovou položku centra událostí a počtu hlav dotazů a vypočítá se takto: Cores-Per-Node x 10 x Number-Of-Query-Heads
. Například eventhouse, který je nastavený pomocí Azure D14_v2 a 5 hlaviček dotazů, kde má každý uzel 16 virtuálních jader, bude mít efektivní výchozí limit 16
x 10
x 5
= 800
.
Další informace najdete v tématu konzistence dotazů .
Skupina úloh default
Skupina úloh default
má ve výchozím nastavení definovanou následující zásadu. 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ásadu pro skupinu úloh
default
, musí být pro maximální souběžné požadavky definován limit.
Příklady
Následující zásady umožňují:
- 500 souběžných požadavků pro 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é skupině úloh:
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": 0
}
},
]