Princip för hastighetsbegränsning för begäran
Gäller för: ✅Microsoft Fabric✅Azure Data Explorer
Med arbetsbelastningsgruppens princip för hastighetsbegränsning för begäranden kan du begränsa antalet samtidiga begäranden som klassificeras i arbetsbelastningsgruppen, per arbetsbelastningsgrupp eller per huvudnamn.
Hastighetsbegränsningar tillämpas på den nivå som definieras av arbetsbelastningsgruppens Begärandefrekvens begränsar efterlevnadsprincipen.
Principobjektet
En princip för hastighetsbegränsning för begäran har följande egenskaper:
Namn | Värden som stöds | Beskrivning |
---|---|---|
IsEnabled |
true , false |
Anger om principen är aktiverad eller inte. |
Omfattning |
WorkloadGroup , Principal |
Det omfång som gränsen gäller för. |
LimitKind |
ConcurrentRequests , ResourceUtilization |
Typ av gräns för begärandefrekvens. |
Egenskaper | Egenskapsväska | Egenskaper för gränsen för begärandefrekvens. |
Hastighetsgräns för samtidiga begäranden
En typ av begärandegräns ConcurrentRequests
innehåller följande egenskap:
Namn | Typ | Beskrivning | Värden som stöds |
---|---|---|---|
MaxConcurrentRequests | int |
Det maximala antalet samtidiga begäranden. | [0 , 10000 ] |
Not
- Om en arbetsbelastningsgrupp inte har någon angiven gräns för de maximala samtidiga begärandena omfattas den av det högsta standardvärdet för
10000
.
När en begäran överskrider gränsen för maximalt antal samtidiga begäranden:
- Begärans tillstånd, enligt systeminformationskommandon, kommer att
Throttled
. - Felmeddelandet innehåller ursprung för begränsningen och kapacitet som har överskridits.
I följande tabell visas några exempel på samtidiga begäranden som överskrider maxgränsen och felmeddelandet som dessa begäranden returnerar:
Scenario | Felmeddelande |
---|---|
Ett begränsat .create table kommando som klassificerades till arbetsbelastningsgruppen default , som har en gräns på 80 samtidiga begäranden i arbetsbelastningsgruppens omfång. |
Hanteringskommandot avbröts på grund av begränsning. Ett nytt försök efter en viss backoff kan lyckas. CommandType: 'TableCreate', Capacity: 80, Origin: 'RequestRateLimitPolicy/WorkloadGroup/default'. |
En begränsad fråga som klassificerades till en arbetsbelastningsgrupp med namnet MyWorkloadGroup , som har en gräns på 50 samtidiga begäranden i omfånget för arbetsbelastningsgruppen. |
Frågan avbröts på grund av begränsning. Ett nytt försök efter en viss backoff kan lyckas. Kapacitet: 50, Ursprung: "RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup". |
En begränsad fråga som klassificerades till en arbetsbelastningsgrupp med namnet MyWorkloadGroup , som har en gräns på 10 samtidiga begäranden i omfånget för ett huvudnamn. |
Frågan avbröts på grund av begränsning. Ett nytt försök efter en viss backoff kan lyckas. Kapacitet: 10, Ursprung: "RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup/Principal/aaduser=9e04c4f5-1abd-48d4-a3d2-9f58615b4724; 6ccf3fe8-6343-4be5-96c3-29a128dd9570". |
- HTTP-svarskoden kommer att
429
. Underkoden kommer att varaTooManyRequests
. - Undantagstypen är
QueryThrottledException
för frågor ochControlCommandThrottledException
för hanteringskommandon.
Not
- Om någon av de gränser som definieras av kapacitetsprincip eller av en princip för hastighetsbegränsning för begäran överskrids, begränsas ett hanteringskommando.
- Den kapacitetsprincipen kan begränsa antalet begäranden som omfattas av en specifik kategori, till exempel inmatningar.
Hastighetsgräns för resursanvändning
En typbegränsning för begäranden ResourceUtilization
innehåller följande egenskaper:
Namn | Typ | Beskrivning | Värden som stöds |
---|---|---|---|
ResourceKind | ResourceKind |
Resursen som ska begränsas. När ResourceKind är TotalCpuSeconds tillämpas gränsen baserat på rapporter efter körning av CPU-användning av slutförda begäranden. Begäranden som rapporterar användning på 0,005 sekunder av CPU eller lägre räknas inte. Gränsen (MaxUtilization ) representerar det totala antalet CPU-sekunder som kan användas av begäranden inom ett angivet tidsperiod (TimeWindow ). En användare som kör ad hoc-frågor kan till exempel ha en gräns på 1 000 CPU-sekunder per timme. Om den här gränsen överskrids begränsas efterföljande frågor, även om de startas samtidigt, eftersom de kumulativa CPU-sekunderna har överskridit den definierade gränsen inom glidande fönsterperiod. |
RequestCount , TotalCpuSeconds |
MaxUtilization | long |
Maximalt antal resurser som kan användas. | RequestCount: [1 , 16777215 ]; TotalCpuSeconds: [1 , 828000 ] |
TimeWindow | timespan |
Det skjuttidsfönster under vilket gränsen tillämpas. | [00:01:00 , 1.00:00:00 ] |
När en begäran överskrider gränsen för resursanvändning:
- Begärans tillstånd, enligt systeminformationskommandon, kommer att
Throttled
. - Felmeddelandet innehåller ursprung för begränsningen och kvot som har överskridits. Till exempel:
I följande tabell visas några exempel på begäranden som överskrider gränsen för resursanvändning och felmeddelandet som dessa begäranden returnerar:
Scenario | Felmeddelande |
---|---|
En begränsad begäran som klassificerades till en arbetsbelastningsgrupp med namnet Automated Requests , som har en gräns på 1 000 begäranden per timme i omfånget för ett huvudnamn. |
Begäran nekades på grund av att kvotbegränsningarna överskreds. Resurs: 'RequestCount', Quota: '1000', TimeWindow: '01:00:00', Origin: 'RequestRateLimitPolicy/WorkloadGroup/Automated Requests/Principal/aadapp=9e04c4f5-1abd-48d4-a3d2-9f58615b4724; 6ccf3fe8-6343-4be5-96c3-29a128dd9570". |
En begränsad begäran som klassificerades till en arbetsbelastningsgrupp med namnet Automated Requests , som har en gräns på 2 000 totala CPU-sekunder per timme i arbetsbelastningsgruppens omfång. |
Begäran nekades på grund av att kvotbegränsningarna överskreds. Resurs: "TotalCpuSeconds", kvot: '2000', TimeWindow: '01:00:00', Ursprung: 'RequestRateLimitPolicy/WorkloadGroup/Automated Requests'. |
- HTTP-svarskoden kommer att
429
. Underkoden kommer att varaTooManyRequests
. - Undantagstypen blir
QuotaExceededException
.
Hur konsekvens påverkar hastighetsbegränsningar
Med stark konsekvens beror standardgränsen för maximala samtidiga begäranden på klustrets SKU och beräknas som: Cores-Per-Node x 10
. Ett kluster som har konfigurerats med Azure D14_v2-noder, där varje nod har 16 virtuella kärnor, har till exempel en standardgräns på 16
x 10
= 160
.
Med svag konsekvens beror den effektiva standardgränsen för maximala samtidiga begäranden på klustrets SKU och antalet frågehuvuden och beräknas som: Cores-Per-Node x 10 x Number-Of-Query-Heads
. Ett kluster som har konfigurerats med Azure D14_v2 och 5 frågehuvuden, där varje nod har 16 virtuella kärnor, har till exempel en effektiv standardgräns på 16
x 10
x 5
= 800
.
Med stark konsekvens är standardgränsen för maximala samtidiga begäranden beroende av händelsehusets SKU och beräknas som: Cores-Per-Node x 10
. Ett händelsehus som har konfigurerats med Azure D14_v2 noder, där varje nod har 16 virtuella kärnor, har till exempel en standardgräns på 16
x 10
= 160
.
Med svag konsekvens beror den effektiva standardgränsen för maximala samtidiga begäranden på SKU:n för händelsehuset och antalet frågehuvuden och beräknas som: Cores-Per-Node x 10 x Number-Of-Query-Heads
. Till exempel har ett händelsehus som har konfigurerats med Azure D14_v2 och 5 frågehuvuden, där varje nod har 16 virtuella kärnor, en effektiv standardgräns på 16
x 10
x 5
= 800
.
Mer information finns i Frågekonsekvens.
Arbetsbelastningsgruppen default
Arbetsbelastningsgruppen default
har följande princip definierad som standard. Den här principen kan ändras.
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": < Cores-Per-Node x 10 >
}
}
]
Not
- När du ändrar principen för
default
arbetsbelastningsgrupp måste en gräns definieras för maximalt antal samtidiga begäranden.
Exempel
Följande principer tillåter upp till:
- 500 samtidiga begäranden för arbetsbelastningsgruppen.
- 25 samtidiga begäranden per huvudnamn.
- 50 begäranden per huvudkonto per timme.
[
{
"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"
}
}
]
Följande principer blockerar alla begäranden som klassificeras till arbetsbelastningsgruppen:
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": 0
}
},
]