Guida alla limitazione delle richieste per Azure Key VaultAzure Key Vault throttling guidance

La limitazione delle richieste è un processo che consente di limitare il numero di chiamate simultanee al servizio di Azure per prevenire l'uso eccessivo delle risorse.Throttling is a process you initiate that limits the number of concurrent calls to the Azure service to prevent overuse of resources. Azure Key Vault è progettato per gestire un volume di richieste elevato.Azure Key Vault (AKV) is designed to handle a high volume of requests. In caso di un numero eccessivamente elevato di richieste, la limitazione delle richieste del client aiuta a mantenere le prestazioni ottimali e l'affidabilità del servizio di Azure Key Vault.If an overwhelming number of requests occurs, throttling your client's requests helps maintain optimal performance and reliability of the AKV service.

I limiti delle richieste variano in base allo scenario.Throttling limits vary based on the scenario. Ad esempio, se si esegue un volume elevato di operazioni di scrittura, la possibilità di limitare le richieste è maggiore rispetto a quando si eseguono solo operazioni di lettura.For example, if you are performing a large volume of writes, the possibility for throttling is higher than if you are only performing reads.

Gestione dei limiti da parte di Key VaultHow does Key Vault handle its limits?

I limiti del servizio in Key Vault hanno lo scopo di evitare un uso improprio delle risorse e garantire la qualità del servizio per tutti i client di Key Vault.Service limits in Key Vault are there to prevent misuse of resources and ensure quality of service for all of Key Vault’s clients. Quando si supera la soglia di un servizio, Key Vault limita le nuove richieste del client per un periodo di tempo.When a service threshold is exceeded, Key Vault limits any further requests from that client for a period of time. In questo caso, Key Vault restituisce il codice di stato HTTP 429, ovvero Too many requests (Numero di richieste eccessivo), e le richieste hanno esito negativo.When this happens, Key Vault returns HTTP status code 429 (Too many requests), and the requests fail. Inoltre, le richieste non riuscite che restituiscono un codice 429 valgono per le limitazioni tracciate da Key Vault.Also, failed requests that return a 429 count towards the throttle limits tracked by Key Vault.

Nel caso l'utente abbia delle esigenze aziendali per cui sono necessarie delle limitazioni maggiori, contattare Microsoft.If you have a valid business case for higher throttle limits, please contact us.

Come limitare le richieste per l'app in risposta ai limiti del servizioHow to throttle your app in response to service limits

Di seguito sono riportate le pratiche ottimali per la limitazione delle richieste per l'app:The following are best practices for throttling your app:

  • Ridurre il numero di operazioni per ogni richiesta.Reduce the number of operations per request.
  • Ridurre la frequenza delle richieste.Reduce the frequency of requests.
  • Evitare tentativi immediati.Avoid immediate retries.
    • Tutte le richieste si accumulano per i limiti di consumo.All requests accrue against your usage limits.

Quando si implementa la gestione degli errori dell'app, usare il codice di errore HTTP 429 per rilevare la necessità di limitazione delle richieste lato client.When you implement your app's error handling, use the HTTP error code 429 to detect the need for client-side throttling. Se la richiesta ha di nuovo esito negativo con un codice di errore HTTP 429, vuol dire che ci sono ancora limiti nel servizio di Azure.If the request fails again with an HTTP 429 error code, you are still encountering an Azure service limit. Continuare a usare il metodo di limitazione delle richieste lato client consigliato, provando a inviare nuovamente la richiesta fino a quando non ha esito positivo.Continue to use the recommended client-side throttling method, retrying the request until it succeeds.

Quando si genera il codice di errore HTTP 429, iniziare a limitare le richieste del client con un approccio di backoff esponenziale:On HTTP error code 429, begin throttling your client using an exponential backoff approach:

  1. Attendere 1 secondo e ripetere la richiestaWait 1 second, retry request
  2. Se viene ancora limitata, attendere 2 secondi e ripetere la richiestaIf still throttled wait 2 seconds, retry request
  3. Se viene ancora limitata, attendere 4 secondi e ripetere la richiestaIf still throttled wait 4 seconds, retry request
  4. Se viene ancora limitata, attendere 8 secondi e ripetere la richiestaIf still throttled wait 8 seconds, retry request
  5. Se viene ancora limitata, attendere 16 secondi e ripetere la richiestaIf still throttled wait 16 seconds, retry request

A questo punto, il codice di risposta HTTP 429 dovrebbe non essere più visualizzato.At this point, you should not be getting HTTP 429 response codes.

Vedere ancheSee also

Per un approfondimento sulla limitazione delle richieste nel cloud di Microsoft, vedere Throttling Pattern (Modello di limitazione delle richieste).For a deeper orientation of throttling on the Microsoft Cloud, see Throttling Pattern.