Quote
Questo documento descrive i limiti di quota di Google Cloud Functions.
Le quote di Google Cloud Functions comprendono tre aree:
Limiti di risorse
Riguardano la quantità totale di risorse che le tue funzioni possono consumare.
Limiti di tempo
Riguardano i tempi di esecuzione.
Limitazioni di frequenza
Questi fattori influiscono sulla frequenza con cui puoi chiamare l'API Cloud Functions per gestire le tue funzioni.
I diversi tipi di limiti sono descritti più dettagliatamente di seguito. Differenze tra i limiti per Cloud Functions (1ª generazione.) e Cloud Functions (2nd gen) sono indicate ove applicabile.
Limiti di risorse
I limiti di risorse influiscono sulla quantità totale di risorse che le tue funzioni possono consumare. L'ambito regionale è a livello di progetto e ogni progetto mantiene i propri limiti.
Quota | Descrizione | Limite (1ª generazione) | Limite (2ª generazione) | Aumentabile | Ambito |
---|---|---|---|---|---|
Numero di funzioni | Il numero totale di funzioni di cui può essere eseguito il deployment per area geografica | 1000 | 1000 meno il numero di servizi Cloud Run di cui è stato eseguito il deployment | No | per area geografica |
Dimensione massima del deployment | La dimensione massima di un singolo deployment di funzioni | 100 MB (compressi) per origini. 500 MB (non compressi) per origini più moduli. |
N/D | No | per funzione |
Dimensione massima della richiesta HTTP non compressa | Dati inviati a funzioni HTTP in una richiesta HTTP | 10 MB | 32 MB | No | per chiamata |
Dimensione massima della risposta HTTP non compressa | Dati inviati da funzioni HTTP in una risposta HTTP | 10 MB | 10 MB per risposte dinamiche. 32 MB per risposte non in streaming. |
No | per chiamata |
Dimensione massima dell'evento per le funzioni basate su eventi | Dati inviati in eventi alle funzioni in background | 10 MB | 512 kB per gli eventi Eventarc. 10 MB per gli eventi legacy. |
No | per evento |
Memoria massima della funzione | Quantità di memoria utilizzabile da ogni istanza di funzione | 8GiB | 32 GB | No | per funzione |
Memoria massima del progetto | Quantità di memoria, in Da, utilizzabile da un progetto. Viene misurata dalla somma totale della memoria richiesta dagli utenti nelle istanze di funzione in un periodo di 1 minuto. | Dipende dalla regione selezionata. Questo limite potrebbe essere maggiore nelle regioni ad alta capacità o inferiore nelle regioni aperte di recente. | N/D | Sì | per progetto e regione |
CPU massima del progetto | Quantità di CPU, in millisecondi, utilizzabile da un progetto. Viene misurata dalla somma totale della CPU richiesta dagli utenti nelle istanze di funzione in un periodo di 1 minuto. | Dipende dalla regione selezionata. Questo limite potrebbe essere maggiore nelle regioni ad alta capacità o inferiore nelle regioni aperte di recente. | N/D | Sì | per progetto e regione |
Limiti di tempo
Quota | Descrizione | Limite (1ª generazione) | Limite (2ª generazione) | Aumentabile | Ambito |
---|---|---|---|---|---|
Durata massima della funzione | Il periodo massimo di tempo in cui una funzione può essere eseguita prima di essere terminata forzatamente | 540 secondi | 60 minuti per le funzioni HTTP. e 9 minuti per le funzioni basate su eventi. |
No | per chiamata |
Limitazioni di frequenza
Quota | Descrizione | Limite (1ª generazione) | Limite (2ª generazione) | Aumentabile | Ambito |
---|---|---|---|---|---|
Chiamate API (READ) | Chiamate per descrivere o elencare le funzioni tramite l'API Cloud Functions | 5000 per 100 secondi | 1200 ogni 60 secondi | Solo per 1ª generazione. | per progetto (1ª generazione) per regione (2ª generazione) |
Chiamate API (WRITE) | Chiamate per eseguire il deployment o eliminare funzioni tramite l'API Cloud Functions | 80 per 100 secondi | 60 per 60 secondi | No 1 | per progetto (1ª generazione) per regione (2ª generazione) |
Chiamate API (CALL) | Chiamate all'API "call" | 16 per 100 secondi | N/D | No 2 | per progetto |
Scalabilità
Le funzioni Cloud Functions richiamate da HTTP fanno lo scale up per gestire il traffico in entrata in tempi rapidi, mentre le funzioni in background lo fanno in modo più graduale. La capacità di una funzione di fare lo scale up è determinata da alcuni fattori, tra cui:
- Il tempo necessario per completare l'esecuzione di una funzione (le funzioni a breve esecuzione possono in genere scalare verticalmente per gestire più richieste in parallelo).
- Il tempo necessario per inizializzare una funzione con avvio a freddo.
- La frequenza di errori della tua funzione.
Fattori temporanei, come il carico a livello di area geografica e la capacità del data center.
La configurazione come definita da istanze minime, istanze massime e contemporaneità (la contemporaneità è solo di 2ª gen.).
Le funzioni in background hanno limiti aggiuntivi, come illustrato di seguito. Questi limiti non si applicano ai protocolli HTTP di 1a gen.
. Il limite massimo di istanze predefinito per le funzioni HTTP di 2ª generazione è 100 e può essere aumentato a 1000. Non esiste un limite predefinito per il numero massimo di istanze per le funzioni HTTP di 1ª gen.
Per evitare eventi di ridimensionamento illimitati con le funzioni HTTP di 1ª generazione, ti consigliamo di impostare un limite, ad esempio 3000.
Quote aggiuntive per le funzioni in background
Quota | Descrizione | Limite | Aumentabile | Ambito | Versione del prodotto |
---|---|---|---|---|---|
Numero massimo di chiamate simultanee | Il numero massimo di chiamate simultanee di una singola funzione Esempio: se la gestione di ogni evento richiede 100 secondi, la frequenza di chiamata sarà limitata in media a 30 al secondo |
3000 | Sì | per funzione | Solo 1ª gen. |
Frequenza di chiamata massima | La frequenza massima di eventi gestiti da una singola funzione Esempio: se la gestione di un evento richiede 100 ms, la frequenza di chiamata sarà limitata a 1000 al secondo anche se in media vengono gestite in parallelo solo 100 richieste |
1000 al secondo | No | per funzione | Solo 1ª gen. |
Dimensione massima dei dati degli eventi simultanei | La dimensione totale massima degli eventi in entrata per le chiamate simultanee di una singola funzione Esempio: se gli eventi hanno una dimensione di 1 MB e la loro elaborazione richiede 10 secondi, la frequenza media sarà di 1 evento al secondo, perché l'undicesimo evento non verrà elaborato fino a quando non terminerà l'elaborazione di uno dei primi 10 eventi |
10 MB | No | per funzione | 1ª e 2ª gen. |
Velocità effettiva massima degli eventi in entrata | La velocità effettiva massima degli eventi in entrata in una singola funzione Esempio: se gli eventi hanno una dimensione di 1 MB, la frequenza di chiamata può essere al massimo di 10 al secondo, anche se le funzioni terminano entro 100 ms |
10 MB al secondo | No | per funzione | 1a e 2ª generazione. |
Raggiungimento di un limite di quota
Quando una funzione consuma completamente una risorsa allocata, questa non sarà più disponibile fino a quando la quota non viene aggiornata o aumentata. Ciò può causare il blocco della funzione e di tutte le altre funzioni dello stesso progetto fino all'aggiornamento o all'aumento della quota. Una funzione restituisce un codice di errore HTTP 500 quando una delle risorse ha superato la quota e la funzione non può essere eseguita.
Per aumentare le quote oltre i valori predefiniti elencati qui, vai alla pagina Quote di Cloud Functions, seleziona le quote che vuoi modificare, fai clic su MODIFICA QUOTE, fornisci le tue informazioni utente se richieste e immetti il nuovo limite per ogni quota selezionata.