Criteri di limite di frequenza delle richieste
Si applica a: ✅Microsoft Fabric✅Esplora dati di Azure
I criteri di limite di frequenza delle richieste del gruppo di carico di lavoro consentono di limitare il numero di richieste simultanee classificate nel gruppo di carico di lavoro, per gruppo di carico di lavoro o per entità.
I limiti di frequenza vengono applicati a livello definito dai criteri di imposizione frequenza delle richieste del gruppo di carico di lavoro.
Oggetto criteri
I criteri di limite di frequenza delle richieste hanno le proprietà seguenti:
Nome | Valori supportati | Descrizione |
---|---|---|
IsEnabled |
true , false |
Indica se il criterio è abilitato o meno. |
Portata |
WorkloadGroup , Principal |
Ambito a cui si applica il limite. |
LimitKind |
ConcurrentRequests , ResourceUtilization |
Tipo di limite di frequenza delle richieste. |
Proprietà | Contenitore delle proprietà | Proprietà del limite di frequenza delle richieste. |
Limite di frequenza delle richieste simultanee
Un limite di frequenza delle richieste di tipo ConcurrentRequests
include la proprietà seguente:
Nome | Digitare | Descrizione | Valori supportati |
---|---|---|---|
MaxConcurrentRequests | int |
Numero massimo di richieste simultanee. | [0 , 10000 ] |
Nota
- Se un gruppo di carico di lavoro non ha un limite specificato per le richieste simultanee massime, è soggetto al valore massimo predefinito di
10000
.
Quando una richiesta supera il limite massimo di richieste simultanee:
- Lo stato della richiesta, come presentato dai comandi informazioni di sistema , verrà
Throttled
. - Il messaggio di errore includerà l'origine della limitazione e la capacità superata.
La tabella seguente illustra alcuni esempi di richieste simultanee che superano il limite massimo e il messaggio di errore restituito da queste richieste:
Scenario | Messaggio di errore |
---|---|
Comando .create table limitato classificato al gruppo di carico di lavoro default , con un limite di 80 richieste simultanee nell'ambito del gruppo di carico di lavoro. |
Il comando di gestione è stato interrotto a causa della limitazione. Il nuovo tentativo dopo un backoff potrebbe avere esito positivo. CommandType: 'TableCreate', Capacity: 80, Origin: 'RequestRateLimitPolicy/WorkloadGroup/default'. |
Query limitata classificata in un gruppo di carico di lavoro denominato MyWorkloadGroup , che ha un limite di 50 richieste simultanee nell'ambito del gruppo di carico di lavoro. |
La query è stata interrotta a causa della limitazione. Il nuovo tentativo dopo un backoff potrebbe avere esito positivo. Capacità: 50, Origine: 'RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup'. |
Query limitata classificata in un gruppo di carico di lavoro denominato MyWorkloadGroup , che ha un limite di 10 richieste simultanee nell'ambito di un'entità di sicurezza. |
La query è stata interrotta a causa della limitazione. Il nuovo tentativo dopo un backoff potrebbe avere esito positivo. Capacità: 10, Origin: 'RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup/Principal/aaduser=9e04c4f5-1abd-48d4-a3d2-9f58615b4724; 6ccf3fe8-6343-4be5-96c3-29a128dd9570'. |
- Il codice di risposta HTTP verrà
429
. Il codice secondario verràTooManyRequests
. - Il tipo di eccezione verrà
QueryThrottledException
per le query eControlCommandThrottledException
per i comandi di gestione.
Nota
Limite di frequenza di utilizzo delle risorse
Un limite di frequenza delle richieste di tipo ResourceUtilization
include le proprietà seguenti:
Nome | Digitare | Descrizione | Valori supportati |
---|---|---|---|
ResourceKind | ResourceKind |
Risorsa da limitare. Quando ResourceKind è TotalCpuSeconds , il limite viene applicato in base ai report post-esecuzione dell'utilizzo della CPU delle richieste completate. Le richieste che segnalano l'utilizzo di 0,005 secondi di CPU o inferiore non vengono conteggiate. Il limite (MaxUtilization ) rappresenta i secondi totali di CPU che possono essere utilizzati dalle richieste entro un intervallo di tempo specificato (TimeWindow ). Ad esempio, un utente che esegue query ad hoc può avere un limite di 1000 secondi di CPU all'ora. Se questo limite viene superato, le query successive verranno limitate, anche se avviate contemporaneamente, poiché i secondi cumulativi della CPU hanno superato il limite definito entro il periodo di finestra temporale scorrevole. |
RequestCount , TotalCpuSeconds |
MaxUtilization | long |
Valore massimo della risorsa che può essere utilizzata. | RequestCount: [1 , 16777215 ]; TotalCpuSeconds: [1 , 828000 ] |
TimeWindow | timespan |
Intervallo temporale scorrevole durante il quale viene applicato il limite. | [00:01:00 , 1.00:00:00 ] |
Quando una richiesta supera il limite di utilizzo delle risorse:
- Lo stato della richiesta, come presentato dai comandi informazioni di sistema , verrà
Throttled
. - Il messaggio di errore includerà l'origine della limitazione e la quota superata. Per esempio:
La tabella seguente illustra alcuni esempi di richieste che superano il limite di frequenza di utilizzo delle risorse e il messaggio di errore restituito da queste richieste:
Scenario | Messaggio di errore |
---|---|
Richiesta limitata classificata in un gruppo di carico di lavoro denominato Automated Requests , che ha un limite di 1000 richieste all'ora nell'ambito di un'entità. |
La richiesta è stata negata a causa del superamento delle limitazioni di quota. Risorsa: 'RequestCount', Quota: '1000', TimeWindow: '01:00:00', Origin: 'RequestRateLimitPolicy/WorkloadGroup/Automated Requests/Principal/aadapp=9e04c4f5-1abd-48d4-a3d2-9f58615b4724; 6ccf3fe8-6343-4be5-96c3-29a128dd9570'. |
Richiesta limitata, classificata in un gruppo di carico di lavoro denominato Automated Requests , che ha un limite di 2000 secondi di CPU totali all'ora nell'ambito del gruppo di carico di lavoro. |
La richiesta è stata negata a causa del superamento delle limitazioni di quota. Risorsa: 'TotalCpuSeconds', Quota: '2000', TimeWindow: '01:00:00', Origin: 'RequestRateLimitPolicy/WorkloadGroup/Automated Requests'. |
- Il codice di risposta HTTP verrà
429
. Il codice secondario verràTooManyRequests
. - Il tipo di eccezione verrà
QuotaExceededException
.
Impatto della coerenza sui limiti di frequenza
Con coerenza assoluta, il limite predefinito per le richieste simultanee massime dipende dallo SKU del cluster e viene calcolato come: Cores-Per-Node x 10
. Ad esempio, un cluster configurato con i nodi di Azure D14_v2, in cui ogni nodo ha 16 vCore, avrà un limite predefinito di 16
x 10
= 160
.
Con coerenza debole, il limite predefinito effettivo per le richieste simultanee massime dipende dallo SKU del cluster e dal numero di teste di query e viene calcolato come: Cores-Per-Node x 10 x Number-Of-Query-Heads
. Ad esempio, un cluster configurato con Azure D14_v2 e 5 teste di query, in cui ogni nodo ha 16 vCore, avrà un limite predefinito effettivo di 16
x 10
x 5
= 800
.
Con coerenza assoluta, il limite predefinito per le richieste simultanee massime dipende dallo SKU della eventhouse e viene calcolato come: Cores-Per-Node x 10
. Ad esempio, una eventhouse configurata con i nodi di Azure D14_v2, in cui ogni nodo ha 16 vCore, avrà un limite predefinito di 16
x 10
= 160
.
Con coerenza debole, il limite predefinito effettivo per le richieste simultanee massime dipende dallo SKU della eventhouse e dal numero di teste di query e viene calcolato come: Cores-Per-Node x 10 x Number-Of-Query-Heads
. Ad esempio, una eventhouse configurata con Azure D14_v2 e 5 teste di query, in cui ogni nodo ha 16 vCore, avrà un limite predefinito effettivo di 16
x 10
x 5
= 800
.
Per altre informazioni, vedere coerenza delle query.
Gruppo di carico di lavoro default
Il gruppo di carico di lavoro default
ha i criteri seguenti definiti per impostazione predefinita. Questo criterio può essere modificato.
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": < Cores-Per-Node x 10 >
}
}
]
Nota
- Quando si modificano i criteri per il gruppo di carico di lavoro
default
, è necessario definire un limite per le richieste simultanee massime.
Esempi
I criteri seguenti consentono di:
- 500 richieste simultanee per il gruppo di carico di lavoro.
- 25 richieste simultanee per ogni entità.
- 50 richieste per entità all'ora.
[
{
"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"
}
}
]
I criteri seguenti bloccano tutte le richieste classificate nel gruppo di carico di lavoro:
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": 0
}
},
]