Richtlinie für die Anforderungsratenbegrenzung
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer
Mit der Anforderungsratenbeschränkungsrichtlinie der Workloadgruppe können Sie die Anzahl der gleichzeitigen Anforderungen einschränken, die in die Workloadgruppe, pro Workloadgruppe oder pro Prinzipal klassifiziert wurden.
Rate limits are enforcement at the level defined by the workload group's Request rate limits enforcement policy.
Das Richtlinienobjekt
Eine Anforderungsratenbeschränkungsrichtlinie weist die folgenden Eigenschaften auf:
Name | Unterstützte Werte | Beschreibung |
---|---|---|
IsEnabled |
true , false |
Gibt an, ob die Richtlinie aktiviert ist oder nicht. |
Umfang |
WorkloadGroup , Principal |
Der Bereich, für den der Grenzwert gilt. |
LimitKind |
ConcurrentRequests , ResourceUtilization |
Die Art des Anforderungssatzlimits. |
Eigenschaften | Eigenschaftenbehälter | Eigenschaften des Anforderungsratenlimits. |
Grenzwert für gleichzeitige Anforderungen
Ein Anforderungssatzgrenzwert ConcurrentRequests
umfasst die folgende Eigenschaft:
Name | Art | Beschreibung | Unterstützte Werte |
---|---|---|---|
MaxConcurrentRequests | int |
Die maximale Anzahl gleichzeitiger Anforderungen. | [0 , 10000 ] |
Anmerkung
- Wenn eine Workloadgruppe keinen angegebenen Grenzwert für die maximalen gleichzeitigen Anforderungen aufweist, unterliegt sie dem Standardwert
10000
.
Wenn eine Anforderung den Grenzwert für die maximale Anzahl gleichzeitiger Anforderungen überschreitet:
- Der Status der Anforderung, wie von Systeminformationsbefehlendargestellt, wird
Throttled
. - Die Fehlermeldung enthält den Ursprung der Drosselung und die Kapazität, die überschritten wurde.
In der folgenden Tabelle sind einige Beispiele für gleichzeitige Anforderungen aufgeführt, die den maximalen Grenzwert überschreiten, und die Fehlermeldung, die diese Anforderungen zurückgeben:
Szenario | Fehlermeldung |
---|---|
Ein gedrosselter .create table Befehl, der in die default Workloadgruppe klassifiziert wurde, die eine Grenze von 80 gleichzeitigen Anforderungen im Bereich der Workloadgruppe hat. |
Der Verwaltungsbefehl wurde aufgrund der Drosselung abgebrochen. Versuchen Sie es erneut, nachdem ein Backoff erfolgreich war. CommandType: 'TableCreate', Capacity: 80, Origin: 'RequestRateLimitPolicy/WorkloadGroup/default'. |
Eine eingeschränkte Abfrage, die in eine Workloadgruppe mit dem Namen MyWorkloadGroup klassifiziert wurde, die eine Grenze von 50 gleichzeitigen Anforderungen im Bereich der Workloadgruppe hat. |
Die Abfrage wurde aufgrund von Drosselung abgebrochen. Versuchen Sie es erneut, nachdem ein Backoff erfolgreich war. Kapazität: 50, Ursprung: 'RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup'. |
Eine eingeschränkte Abfrage, die in eine Workloadgruppe mit dem Namen MyWorkloadGroup klassifiziert wurde, die maximal 10 gleichzeitige Anforderungen im Bereich eines Prinzipals umfasst. |
Die Abfrage wurde aufgrund von Drosselung abgebrochen. Versuchen Sie es erneut, nachdem ein Backoff erfolgreich war. Kapazität: 10, Ursprung: 'RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup/Principal/aaduser=9e04c4f5-1abd-48d4-a3d2-9f58615b4724; 6ccf3fe8-6343-4be5-96c3-29a128dd9570'. |
- Der HTTP-Antwortcode wird
429
. Der Untercode wirdTooManyRequests
. - Der Ausnahmetyp wird für Abfragen
QueryThrottledException
undControlCommandThrottledException
für Verwaltungsbefehle.
Anmerkung
- Wenn eine der durch die Kapazitätsrichtlinie definierten Grenzwerte oder durch eine Anforderungsratengrenzrichtlinie überschritten wird, wird ein Verwaltungsbefehl gedrosselt.
- Die Kapazitätsrichtlinie kann die Anforderungsrate von Anforderungen einschränken, die unter eine bestimmte Kategorie fallen, z. B. Aufnahmeraten.
Grenzwert für die Ressourcenauslastung
Ein Anforderungsratenlimit ResourceUtilization
umfasst die folgenden Eigenschaften:
Name | Art | Beschreibung | Unterstützte Werte |
---|---|---|---|
ResourceKind | ResourceKind |
Die zu begrenzende Ressource. Wenn ResourceKind TotalCpuSeconds ist, wird der Grenzwert basierend auf Nachausführungsberichten der CPU-Auslastung abgeschlossener Anforderungen erzwungen. Anforderungen, die die Auslastung von 0,005 Sekunden CPU oder niedriger melden, werden nicht gezählt. Der Grenzwert (MaxUtilization ) stellt die gesamt CPU-Sekunden dar, die von Anforderungen innerhalb eines angegebenen Zeitfensters (TimeWindow ) verbraucht werden können. Beispielsweise kann ein Benutzer, der Ad-hoc-Abfragen ausführt, einen Grenzwert von 1000 CPU-Sekunden pro Stunde haben. Wenn dieser Grenzwert überschritten wird, werden nachfolgende Abfragen gedrosselt, auch wenn sie gleichzeitig gestartet werden, da die kumulierten CPU-Sekunden den definierten Grenzwert innerhalb des Gleitfensterzeitraums überschritten haben. |
RequestCount , TotalCpuSeconds |
MaxUtilization | long |
Das Maximum der Ressource, die verwendet werden kann. | RequestCount: [1 , 16777215 ]; TotalCpuSeconds: [1 , 828000 ] |
TimeWindow | timespan |
Das Gleitzeitfenster, in dem der Grenzwert angewendet wird. | [00:00:01 , 01:00:00 ] |
Wenn eine Anforderung den Grenzwert für die Ressourcenauslastung überschreitet:
- Der Status der Anforderung, wie von Systeminformationsbefehlendargestellt, wird
Throttled
. - Die Fehlermeldung enthält den Ursprung der Einschränkung und das Kontingent, das überschritten wurde. Zum Beispiel:
In der folgenden Tabelle sind einige Beispiele für Anforderungen aufgeführt, die den Grenzwert für die Ressourcenauslastung überschreiten, und die Fehlermeldung, die diese Anforderungen zurückgeben:
Szenario | Fehlermeldung |
---|---|
Eine eingeschränkte Anforderung, die in eine Workloadgruppe mit dem Namen Automated Requests klassifiziert wurde, die eine Grenze von 1000 Anforderungen pro Stunde im Bereich eines Prinzipals aufweist. |
Die Anforderung wurde aufgrund einer Überschreitung der Kontingentbeschränkungen verweigert. Ressource: 'RequestCount', Kontingent: '1000', TimeWindow: '01:00:00', Origin: 'RequestRateLimitPolicy/WorkloadGroup/Automated Requests/Principal/aadapp=9e04c4f5-1abd-48d4-a3d2-9f58615b4724; 6ccf3fe8-6343-4be5-96c3-29a128dd9570'. |
Eine eingeschränkte Anforderung, die in eine Workloadgruppe mit dem Namen Automated Requests klassifiziert wurde, die insgesamt 2000 CPU-Sekunden pro Stunde im Bereich der Workloadgruppe beträgt. |
Die Anforderung wurde aufgrund einer Überschreitung der Kontingentbeschränkungen verweigert. Ressource: 'TotalCpuSeconds', Kontingent: '2000', TimeWindow: '01:00:00', Origin: 'RequestRateLimitPolicy/WorkloadGroup/Automated Requests'. |
- Der HTTP-Antwortcode wird
429
. Der Untercode wirdTooManyRequests
. - Der Ausnahmetyp wird
QuotaExceededException
.
Auswirkungen auf Konsistenzgrenzen
Bei starker Konsistenz hängt der Standardgrenzwert für maximale gleichzeitige Anforderungen von der SKU des Clusters ab und wird berechnet als: Cores-Per-Node x 10
. Ein Cluster, der mit Azure D14_v2 Knoten eingerichtet ist, wobei jeder Knoten 16 vCores aufweist, hat beispielsweise einen Standardgrenzwert von 16
x 10
= 160
.
Mit schwacher Konsistenz hängt der effektive Standardgrenzwert für maximale gleichzeitige Anforderungen von der SKU des Clusters und der Anzahl der Abfrageköpfe ab und wird berechnet als: Cores-Per-Node x 10 x Number-Of-Query-Heads
. Beispielsweise verfügt ein Cluster, der mit Azure D14_v2 und 5 Abfrageköpfen eingerichtet ist, wobei jeder Knoten 16 vCores hat, einen effektiven Standardgrenzwert von 16
x 10
x 5
= 800
.
Mit starker Konsistenz hängt der Standardgrenzwert für maximale gleichzeitige Anforderungen von der SKU des Eventhouse ab und wird berechnet als: Cores-Per-Node x 10
. Ein Ereignishaus, das mit Azure D14_v2 Knoten eingerichtet ist, wobei jeder Knoten 16 vCores hat, hat beispielsweise einen Standardgrenzwert von 16
x 10
= 160
.
Mit schwacher Konsistenz hängt das effektive Standardlimit für maximale gleichzeitige Anforderungen von der SKU des Ereignishauses und der Anzahl der Abfrageköpfe ab und wird berechnet als: Cores-Per-Node x 10 x Number-Of-Query-Heads
. Beispielsweise verfügt ein Ereignishaus, das mit Azure D14_v2 und 5 Abfrageköpfen eingerichtet ist, wobei jeder Knoten 16 vCores hat, einen effektiven Standardgrenzwert von 16
x 10
x 5
= 800
.
Weitere Informationen finden Sie unter Abfragekonsistenz.
Die default
Workloadgruppe
Die Gruppe default
Workload weist standardmäßig die folgende Richtlinie auf. Diese Richtlinie kann geändert werden.
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": < Cores-Per-Node x 10 >
}
}
]
Anmerkung
- Wenn Sie die Richtlinie für die
default
Workloadgruppe ändern, muss ein Grenzwert für die maximalen gleichzeitigen Anforderungen definiert werden.
Beispiele
Die folgenden Richtlinien ermöglichen bis zu:
- 500 gleichzeitige Anforderungen für die Workloadgruppe.
- 25 gleichzeitige Anforderungen pro Prinzipal.
- 50 Anforderungen pro Prinzipal pro Stunde.
[
{
"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"
}
}
]
Die folgenden Richtlinien blockieren alle Anforderungen, die in die Workloadgruppe klassifiziert wurden:
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": 0
}
},
]