Limiti della limitazione di calcolo
Si applica a: ✔️ macchine virtuali Linux ✔️ macchine virtuali Windows ✔️ set di scalabilità flessibili ✔️ set di scalabilità uniformi
Microsoft Compute implementa un meccanismo di limitazione per facilitare le prestazioni complessive del servizio e offrire un'esperienza coerente ai clienti. Le richieste API che superano i limiti massimi consentiti vengono limitate e gli utenti ricevono un errore HTTP 429. Tutti i criteri di limitazione delle richieste di calcolo vengono implementati in base all'area.
Come funzionano i criteri di limitazione?
Microsoft Compute implementa criteri che limitano il numero di richieste API effettuate per risorsa e per sottoscrizione per area al minuto. Se il numero di richieste API supera questi limiti, le richieste vengono limitate. Ecco come funzionano questi limiti:
Limite per risorsa: ogni risorsa, ad esempio una macchina virtuale, ha un limite specifico per le richieste API. Si supponga, ad esempio, che un utente crei 10 macchine virtuali in una sottoscrizione. L'utente può richiamare fino a 12 richieste di aggiornamento per ogni macchina virtuale in un minuto. Se l'utente supera il limite per la macchina virtuale, le richieste API vengono limitate. Questo limite garantisce che alcune risorse non utilizzino i limiti a livello di sottoscrizione né causino limitazioni per altre risorse.
Limite di sottoscrizioni: oltre ai limiti delle risorse, esiste un limite generale al numero di richieste API in tutte le risorse all'interno di una sottoscrizione. Tutte le richieste API oltre questo limite vengono limitate, indipendentemente dal fatto che sia stato raggiunto il limite per una singola risorsa. Si supponga, ad esempio, che un utente abbia 200 macchine virtuali in una sottoscrizione. Anche se l'utente ha diritto ad avviare fino a 12 richieste di aggiornamento per ogni macchina virtuale, il limite di aggregazione per le richieste API della macchina virtuale di aggiornamento è impostato su 1500 al minuto. Tutte le richieste API di aggiornamento della macchina virtuale per la sottoscrizione che superano il suddetto valore impostato su 1500 vengono limitate.
In che modo Microsoft Compute determina le limitazioni?
Per determinare i limiti per ogni risorsa e sottoscrizione, Microsoft Compute usa l'algoritmo del bucket di token. Questo algoritmo crea bucket per ogni limite e contiene un numero specifico di token in ogni bucket. Il numero di token in un bucket rappresenta la limitazione in un determinato minuto.
All'inizio della finestra di limitazione, quando viene creata la risorsa, il bucket viene riempito per la relativa Capacità massima. Ogni richiesta API avviata dall'utente usa un token. Quando il numero di token esaurisce fino a zero, le richieste API successive vengono limitate. Il bucket viene rifornito con nuovi token ogni minuto a una velocità coerente denominata Frequenza di riempimento bucket per una risorsa e una sottoscrizione.
Ad esempio: si considerino i "criteri di limitazione per l'API di aggiornamento della macchina virtuale" che prevedono una frequenza di riempimento del bucket di quattro token al minuto e una capacità massima di bucket di 12 token. L'utente richiama la richiesta dell'API di aggiornamento per una macchina virtuale in base alla tabella seguente. Inizialmente, il bucket viene riempito con 12 token all'inizio della finestra di limitazione. Al quarto minuto, l'utente usa tutti i 12 token, lasciando vuoto il bucket. Al quinto minuto, il bucket viene rifornito con quattro nuovi token in base alla frequenza di riempimento. È quindi possibile effettuare quattro richieste API nel quinto minuto, mentre Microsoft Compute limita una richiesta API a causa di token insufficienti.
(min) | 1° | 2a | Firewall | 4a | 5° | 6a |
---|---|---|---|---|---|---|
Numero di token iniziali (A) | 12 | 12 | 8 | 12 | 4 | 4 |
Richieste al minuto (B) | 0 | 8 | 0 | 13 | 5 | 0 |
Richieste limitate (C) | 0 | 0 | 0 | 1 | 1 | 0 |
Token rimanenti alla fine del periodo D = Max(A-B, 0) |
12 | 4 | 8 | 0 | 0 | 4 |
Viene seguito un processo simile per determinare le limitazioni a livello di sottoscrizione. Le sezioni seguenti illustrano in dettaglio la frequenza di riempimento del bucket e la capacità massima del bucket usata per determinare i limiti di limitazione per le macchine virtuali, i set di scalabilità di macchine virtuali e le macchine virtuali del set di scalabilità di macchine virtuali.
Limitazioni per le macchine virtuali
Le richieste API per le macchine virtuali sono suddivise in sette criteri distinti. Ogni criterio presenta limiti specifici, a seconda del livello di utilizzo delle risorse delle richieste API in base a tali criteri. La tabella seguente contiene un elenco completo di questi criteri, le API REST corrispondenti e i rispettivi limiti:
Categoria di criteri | API REST | A livello di risorsa | A livello di risorsa | Livello di sottoscrizione | Livello di sottoscrizione |
---|---|---|---|---|---|
Frequenza di riempimento del bucket (per min) | Capacità massima bucket (per min) |
Frequenza di riempimento del bucket (per min) |
Capacità massima bucket (per min) |
||
Put VM (creare nuove macchine virtuali) |
Crea | 4 | 12 | 500 | 1.500 |
Update VM (aggiornare le macchine virtuali esistenti) |
Aggiornamento Riapplica Riavvia Spegni Avviare Generalizza Eseguire la conversione in dischi gestiti Ripetere la distribuzione Esegui manutenzione Acquisire Eseguire un comando Crea o aggiorna Estensioni - Aggiornare Estensioni - Eliminare Ricrea l'immagine Aggiornamento Comandi di esecuzione - Aggiornare Comandi di esecuzione - Eliminare Comandi di esecuzione - Creare o aggiornare |
4 | 12 | 500 | 1.500 |
Delete VM (eliminare macchine virtuali) |
CANC Simulare un'operazione di rimozione Dealloca |
4 | 12 | 500 | 1.500 |
Macchina virtuale Get a basso costo (ottenere informazioni su una singola macchina virtuale) |
GET Vista Istanza Estensioni - Get Elencare le dimensioni disponibili Recuperare i dati di diagnostica di avvio Comandi di esecuzione - Ottenere per macchina virtuale Comandi di esecuzione - Elencare per macchina virtuale |
12 | 36 | 8.000 | 24,000 |
High Cost Get VM1 (ottenere informazioni su più macchine virtuali) |
Elenco Elenca tutto Elenca per posizione |
N/D | N/D | 300 | 900 |
Operazione Get (ottenere informazioni sulle operazioni asincrone delle macchine virtuali) |
Stato delle operazioni asincrone | 15 | 45 | 5,000 | 15.000 |
Operazioni patch guest della macchina virtuale (Valutare e installare patch guest) |
Valuta patch Installa patch |
2 | 6 | 200 | 600 |
1 Sono applicabili solo i criteri a livello di sottoscrizione.
Limitazioni per i set di scalabilità di macchine virtuali
Le richieste API per il set di scalabilità di macchine virtuali (Uniform e Flex) sono suddivise in 5 criteri distinti. Ogni criterio presenta limiti specifici, a seconda del livello di utilizzo delle risorse delle richieste API in base a tali criteri. Questi criteri sono applicabili alle modalità di orchestrazione Flex e Uniform. La tabella seguente contiene un elenco completo di questi criteri, le API REST corrispondenti e i rispettivi limiti:
Categoria di criteri | API REST | A livello di risorsa | A livello di risorsa | Livello di sottoscrizione | Livello di sottoscrizione |
---|---|---|---|---|---|
Frequenza di riempimento del bucket (per min) |
Capacità massima bucket (per min) |
Frequenza di riempimento del bucket (per min) | Capacità massima bucket (per min) |
||
Inserisci (creare un nuovo set di scalabilità) |
Crea | 4 | 12 | 125 | 375 |
Aggiornamento (aggiornare set di scalabilità esistenti) |
Aggiornamento Avviare2 Riavviare2 Ridistribuire2 Eseguire la manutenzione2 Ricreare l'immagine2 Ricreare tutte le immagini2 Creare o aggiornare Aggiornamenti in sequenza - Annullare Estensioni - Creare Estensioni - Aggiornare Estensioni - Eliminare Procedura di dominio di aggiornamento per forzare il ripristino della piattaforma Service Fabric Converti in gruppo di posizionamento singolo Impostare lo stato del servizio di orchestrazione |
4 | 12 | 500 | 1.500 |
Elimina (eliminare il set di scalabilità) |
CANC Spegnere2 Dealloca |
4 | 12 | 175 | 525 |
Low Cost Get (ottenere informazioni su un singolo set di scalabilità) |
GET Elencare SKU Aggiornamenti in sequenza - Ottenere quelli più recenti Ottenere la cronologia aggiornamenti del sistema operativo |
12 | 36 | 800 | 2400 |
High Cost Get (ottenere informazioni sull'uso intensivo delle risorse) |
Ottenere la visualizzazione istanza Elencare2 Elencare tutto2 Elencare per posizione2 |
10 | 30 | 360 | 1.080 |
2 Sono applicabili solo i criteri a livello di sottoscrizione.
Limitazioni per le macchine virtuali con set di scalabilità di macchine virtuali
Le richieste API per le macchine virtuali del set di scalabilità di macchine virtuali sono suddivise in 3 criteri distinti. Ogni criterio presenta limiti specifici, a seconda del livello di utilizzo delle risorse delle richieste API in base a tali criteri. La tabella seguente contiene un elenco completo di questi criteri, le API REST corrispondenti e i rispettivi limiti:
Categoria di criteri | API REST | A livello di risorsa | A livello di risorsa | Livello di sottoscrizione | Livello di sottoscrizione |
---|---|---|---|---|---|
Frequenza di riempimento del bucket (per min) |
Capacità massima bucket (per min) |
Frequenza di riempimento del bucket (per min) |
Capacità massima bucket (per min) |
||
Aggiornare le macchine virtuali del set di scalabilità (aggiornare le macchine virtuali esistenti in un set di scalabilità) |
Avviare Riavviare Ricreare l'immagine ReimageAll Aggiornamento SimulateEviction Estensioni - Creare o aggiornare Comandi di esecuzione - Creare o aggiornare Comandi di esecuzione - Aggiornare |
4 | 12 | 500 | 1.500 |
Eliminare macchine virtuali set di scalabilità (eliminare macchine virtuali del set di scalabilità) |
CANC PowerOff Dealloca Estensioni - Eliminare Comandi di esecuzione - Eliminare |
4 | 12 | 500 | 1.500 |
Ottenere macchine virtuali set di scalabilità (ottenere informazioni sulle macchine virtuali del set di scalabilità) |
GET Visualizzazione GetInstance Estensioni - Ottenere Comandi di esecuzione - Ottenere Recuperare i dati di diagnostica di avvio |
12 | 36 | 2,000 | 6.000 |
Linee guida per la risoluzione dei problemi
Nel caso in cui gli utenti siano ancora in difficoltà a causa della limitazione del calcolo, vedere Risoluzione degli errori di limitazione in Azure - Macchine virtuali. Fornisce informazioni dettagliate su come risolvere i problemi di limitazione delle richieste e procedure consigliate per evitare le limitazioni.
Domande frequenti
È necessaria un'azione da parte degli utenti?
’Gli utenti non devono modificare nulla nella configurazione o nei carichi di lavoro. Tutte le API esistenti continuano a funzionare così come sono.
Quali vantaggi offrono i criteri di limitazione?
I criteri di limitazione offrono diversi vantaggi:
Tutte le risorse di calcolo hanno una finestra uniforme di 1 min. Gli utenti possono richiamare correttamente le chiamate API, 1 minuto dopo la limitazione.
Nessuna singola risorsa può usare tutti i limiti di una sottoscrizione poiché i limiti sono definiti a livello di risorsa.
Microsoft Compute introduce un nuovo algoritmo, l'algoritmo di bucket di token, per determinare i limiti. L'algoritmo fornisce un buffer aggiuntivo ai clienti, effettuando al tempo stesso un numero elevato di richieste API.
Il cliente riceve un avviso quando sta per raggiungere le limitazioni?
Come parte di ogni risposta, Microsoft Compute restituisce x-ms-ratelimit-remaining-resource che può essere usato per determinare i limiti di limitazione rispetto ai criteri. Un elenco dei criteri di limitazione applicabili viene restituito come risposta alle Intestazioni informative sulla frequenza delle chiamate.