Criteri di limite della frequenza delle richieste
I criteri di limite della 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 delle tariffe del gruppo di carico di lavoro.
Oggetto criteri
I criteri di limite della frequenza di richiesta hanno le proprietà seguenti:
Nome | Valori supportati | Descrizione |
---|---|---|
IsEnabled | true , false |
Indica se il criterio è abilitato o meno. |
Ambito | WorkloadGroup , Principal |
Ambito a cui si applica il limite. |
LimitKind | ConcurrentRequests , ResourceUtilization |
Tipo di limite di frequenza della richiesta. |
Proprietà | Borsa delle proprietà | Proprietà del limite di frequenza delle richieste. |
Limite di frequenza delle richieste simultanee
Un limite di frequenza di richiesta di tipo ConcurrentRequests
include la proprietà seguente:
Nome | Tipo | 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, sarà
Throttled
. - Il messaggio di errore includerà l'origine della limitazione e la capacità superata.
La tabella seguente mostra alcuni esempi di richieste simultanee che superano il limite massimo e il messaggio di errore restituito da queste richieste:
Scenario | Messaggio di errore |
---|---|
Comando limitato .create table classificato al default gruppo di carico di lavoro, 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. Riprovare dopo un backoff potrebbe avere esito positivo. CommandType: 'TableCreate', Capacità: 80, Origin: 'RequestRateLimitPolicy/WorkloadGroup/default'. |
Query limitata classificata in un gruppo di carico di lavoro denominato MyWorkloadGroup , con un limite di 50 richieste simultanee nell'ambito del gruppo di carico di lavoro. |
La query è stata interrotta a causa della limitazione. Riprovare dopo un backoff potrebbe avere esito positivo. Capacità: 50, Origin: 'RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup'. |
Query limitata classificata in un gruppo di carico di lavoro denominato MyWorkloadGroup , con un limite di 10 richieste simultanee nell'ambito di un'entità. |
La query è stata interrotta a causa della limitazione. Riprovare 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 sarà
429
. Il codice secondario saràTooManyRequests
. - Il tipo di eccezione sarà
QueryThrottledException
per le query eControlCommandThrottledException
per i comandi di gestione.
Nota
- Se uno dei limiti definiti dai criteri di capacità o da un criterio di limite della frequenza di richiesta viene superato, verrà limitato un comando di gestione.
- I criteri di capacità possono limitare la frequenza di richiesta delle richieste che rientrano in una categoria specifica, ad esempio inserimenti.
Limite di velocità di utilizzo delle risorse
Un limite di frequenza di richiesta di tipo ResourceUtilization
include le proprietà seguenti:
Nome | Tipo | Descrizione | Valori supportati |
---|---|---|---|
ResourceKind | ResourceKind |
Risorsa da limitare. Quando ResourceKind è TotalCpuSeconds , il limite viene applicato in base ai report di 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 all'interno di 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 simultaneamente, poiché i secondi di CPU cumulativi superano il limite definito entro il periodo di finestra scorrevole. |
RequestCount , TotalCpuSeconds |
MaxUtilization | long |
Valore massimo della risorsa che può essere usata. | RequestCount: [1 , 16777215 ]; TotalCpuSeconds: [1 , 828000 ] |
TimeWindow | timespan |
Intervallo di tempo 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, sarà
Throttled
. - Il messaggio di errore includerà l'origine della limitazione e la quota superata. Ad esempio:
La tabella seguente mostra alcuni esempi di richieste che superano il limite di velocità 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 , con un limite di 1000 richieste all'ora nell'ambito di un'entità. |
La richiesta è stata negata a causa del superamento delle limitazioni delle quote. Risorsa: 'RequestCount', Quota: '1000', TimeWindow: '01:00:00', Origin: 'RequestRateLimitPolicy/WorkloadGroup/Automated Request/aadapp=9e04c4f5-1abd-48d4-a3d2-9f58615b4724; 6ccf3fe8-6343-4be5-96c3-29a128dd9570'. |
Richiesta limitata, classificata in un gruppo di carico di lavoro denominato Automated Requests , con 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 delle quote. Risorsa: 'TotalCpuSeconds', Quota: '2000', TimeWindow: '01:00:00', Origin: 'RequestRateLimitPolicy/WorkloadGroup/Richieste automatizzate'. |
- Il codice di risposta HTTP sarà
429
. Il codice secondario saràTooManyRequests
. - Il tipo di eccezione sarà
QuotaExceededException
.
Come la coerenza influisce sui limiti di frequenza
Con coerenza forte, 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 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 test 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 x800
10
5
= .
Per altre informazioni, vedere Coerenza query.
Gruppo default
di carico di lavoro
Il default
gruppo di carico di lavoro 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
default
gruppo di carico di lavoro, è necessario definire un limite per le richieste simultanee massime.
Esempio
I criteri seguenti consentono fino a:
- 500 richieste simultanee per il gruppo di carico di lavoro.
- 25 richieste simultanee per 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 al gruppo di carico di lavoro:
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": 0
}
},
]
Contenuti correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per