Quote e limiti

Questa pagina descrive i limiti scalabili e basati sull'utilizzo per Cloud Functions in base al piano tariffario Blaze con pagamento a consumo. Questi limiti si applicano ai progetti Firebase che eseguono il deployment di funzioni nell'ambiente di runtime Node.js 10.

Il piano Blaze offre una quantità generosa di chiamate, tempo di calcolo e traffico internet senza costi. Tuttavia, i deployment delle funzioni comportano costi ridotti per lo spazio di archiviazione utilizzato per il contenitore della funzione. Per ulteriori informazioni, consulta le Domande frequenti su Firebase.

Le quote per Firebase comprendono quattro 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 parametri influiscono sulla frequenza con cui puoi chiamare l'API Firebase per gestire le tue funzioni.

  • Limiti di rete

    Questi influiscono sui limiti di istanze e connessioni in uscita.

I diversi tipi di limiti sono descritti più dettagliatamente di seguito. Le differenze tra i limiti per Firebase (1ª gen.) e Firebase (2ª gen.) sono indicate dove applicabili.

Limiti di risorse

I limiti di risorse influiscono sulla quantità totale di risorse che le tue funzioni possono consumare. L'ambito regionale è per progetto e ogni progetto ha i propri limiti.

Quota Descrizione Limit (1ª gen.) Limit (2ª gen.) 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 le risposte dinamiche.
32 MB per le risposte non dinamiche.
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 precedenti.
No per evento
Memoria massima della funzione Quantità di memoria utilizzabile da ogni istanza di funzione 8 GB 32 GB No per funzione
Memoria massima del progetto Quantità di memoria, in byte, che un progetto può utilizzare. 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 per progetto e regione
CPU massima del progetto Quantità di CPU, in milli vCPU, che un progetto può utilizzare. 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 per progetto e regione
.

Limiti di tempo

Quota Descrizione Limit (1ª gen.) Limit (2ª gen.) Aumentabile Ambito
Durata massima della funzione La quantità massima di tempo in cui una funzione può essere eseguita prima di essere interrotta forzatamente 540 secondi 60 minuti per le funzioni HTTP.
9 minuti per le funzioni basate su eventi.
No per chiamata

Limitazioni di frequenza

Quota Descrizione Limit (1ª gen.) Limit (2ª gen.) Aumentabile Ambito
Chiamate API (READ) Chiamate per descrivere o elencare le funzioni tramite l'API Firebase 5000 per 100 secondi 1200 per 60 secondi Solo per la 1ª gen. per progetto (1ª gen.)
per regione (2ª gen.)
Chiamate API (WRITE) Chiamate per eseguire il deployment o eliminare funzioni tramite l'API Firebase 80 per 100 secondi 60 per 60 secondi No 1 per progetto (1ª gen.)
per regione (2ª gen.)
Chiamate API (CALL) Chiamate all'API "call" 16 per 100 secondi N/D No 2 per progetto

Limiti di rete

Per informazioni sui limiti di richiesta e larghezza di banda della rete Firebase (2ª gen.), consulta Limiti di rete.

I seguenti limiti di rete si applicano a Firebase (1ª gen.):

  • Connessioni in uscita al secondo per istanza: 500 (non possono essere aumentate)
  • Risoluzioni DNS in uscita al secondo per istanza: 100 (non può essere aumentato)

Scalabilità

Le funzioni Firebase richiamate da HTTP scalano rapidamente per gestire il traffico in entrata, 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.

Le funzioni in background hanno limiti aggiuntivi, come illustrato di seguito. Questi limiti non si applicano alle funzioni HTTP di 1ª generazione.

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 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 1ª e 2ª gen.

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 Firebasepagina Quote, 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.

Limiti di quota per il deployment mediante l'interfaccia a riga di comando di Firebase

Per ogni funzione di cui viene eseguito il deployment con l'interfaccia a riga di comando di Firebase, sono interessati questi tipi di limiti di frequenza e di tempo:

  • Chiamate API (LETTURA): 1 chiamata per deployment, indipendentemente dal numero di funzioni
    • Limite: 5000 ogni 100 secondi
  • Chiamate API (WRITE): 1 chiamata per funzione
    • Limite: 80 ogni 100 secondi

Consulta anche il riferimento all'interfaccia a riga di comando di Firebase.