Questa pagina descrive in dettaglio i limiti scalabili e basati sull'utilizzo per le funzioni cloud in base al piano tariffario con pagamento in base al consumo di Blaze. Questi limiti si applicano ai progetti Firebase che distribuiscono funzioni nell'ambiente di runtime Node.js 10.
Il piano Blaze fornisce gratuitamente quantità generose di chiamate, tempo di calcolo e traffico Internet. Tuttavia, le distribuzioni di funzioni comportano addebiti su piccola scala per lo spazio di archiviazione utilizzato per il contenitore della funzione. Per ulteriori informazioni, consulta le domande frequenti su Firebase.
Le quote per le funzioni Google Cloud comprendono 3 aree:
Limiti delle risorse
Questi influiscono sulla quantità totale di risorse che le tue funzioni possono consumare.
Limiti di tempo
Questi influiscono sulla durata delle cose.
Limiti tariffari
Questi influiscono sulla velocità con cui è possibile chiamare l'API di Cloud Functions e/o sulla velocità con cui le risorse possono essere utilizzate. Puoi pensare alle quote tariffarie come a "risorse nel tempo".
I diversi tipi di limiti sono descritti più dettagliatamente di seguito. Le differenze tra i limiti per le funzioni cloud (1a generazione) e le funzioni cloud (2a generazione) sono annotate ove applicabili.
Limiti delle risorse
I limiti delle risorse influiscono sulla quantità totale di risorse che le tue funzioni possono consumare. L'ambito regionale è per progetto e ogni progetto mantiene i propri limiti.
Quota | Descrizione | Limite (1a generazione) | Limite (2a generazione) | Può essere aumentato | Scopo |
---|---|---|---|---|---|
Numero di funzioni | Il numero totale di funzioni che possono essere distribuite per regione | 1.000 | 1.000 meno il numero di servizi Cloud Run distribuiti | No | per regione |
Dimensione massima della distribuzione | La dimensione massima di una distribuzione di una singola funzione | 100 MB (compresso) per le sorgenti. 500 MB (non compresso) per sorgenti più moduli. | N / A | No | per funzione |
Dimensione massima della richiesta HTTP non compressa | Dati inviati alle funzioni HTTP in una richiesta HTTP | 10 MB | 32 MB | No | per invocazione |
Dimensione massima della risposta HTTP non compressa | Dati inviati dalle funzioni HTTP in una risposta HTTP | 10 MB | 10 MB per le risposte in streaming. 32 MB per le risposte non in streaming. | No | per invocazione |
Dimensione massima dell'evento per le funzioni basate su eventi | Dati inviati negli eventi alle funzioni in background | 10 MB | 512KB per eventi Eventarc. 10 MB per eventi legacy. | No | per evento |
Memoria massima delle funzioni | Quantità di memoria che ciascuna istanza di funzione può utilizzare | 8GiB | 16GiB | No | per funzione |
Limiti di tempo
Quota | Descrizione | Limite (1a generazione) | Limite (2a generazione) | Può essere aumentato | Scopo |
---|---|---|---|---|---|
Durata massima della funzione | La quantità massima di tempo in cui una funzione può essere eseguita prima di essere terminata forzatamente | 540 secondi | 60 minuti per le funzioni HTTP. 10 minuti per le funzioni basate su eventi. | No | per invocazione |
Limiti tariffari
Quota | Descrizione | Limite (1a generazione) | Limite (2a generazione) | Può essere aumentato | Scopo |
---|---|---|---|---|---|
Chiamate API (LEGGI) | Chiamate per descrivere o elencare funzioni tramite l'API Cloud Functions | 5000 ogni 100 secondi | 1200 ogni 60 secondi | Solo per la 1a gen | per progetto (1a generazione) per regione (2a generazione) |
Chiamate API (SCRITTURA) | Chiamate per distribuire o eliminare funzioni tramite l'API Cloud Functions | 80 ogni 100 secondi | 60 ogni 60 secondi | n. 1 | per progetto (1a generazione) per regione (2a generazione) |
Chiamate API (CALL) | Chiamate all'API "call". | 16 ogni 100 secondi | N / A | n. 2 | per progetto |
Scalabilità
Le funzioni cloud richiamate da HTTP aumentano rapidamente per gestire il traffico in entrata, mentre le funzioni in background scalano più gradualmente. La capacità di scalabilità verticale di una funzione è dettata da alcuni fattori, tra cui:
- La quantità di tempo necessaria per il completamento dell'esecuzione di una funzione (le funzioni a esecuzione breve possono generalmente aumentare per gestire più richieste simultanee).
- La quantità di tempo necessaria per l'inizializzazione di una funzione all'avvio a freddo
- Limiti tariffari , come descritto sopra.
- Il tasso di errore della tua funzione.
- Fattori transitori, come il carico regionale e la capacità del data center.
Quote aggiuntive per le funzioni in background
Quota | Descrizione | Limite | Può essere aumentato | Scopo |
---|---|---|---|---|
Numero massimo di invocazioni simultanee | Il numero massimo di chiamate simultanee di una singola funzione Esempio: se la gestione di ogni evento richiede 100 secondi, la frequenza di invocazione sarà limitata in media a 30 al secondo | 3.000 | No | per funzione |
Tasso massimo di invocazione | La frequenza massima di eventi gestiti da una singola funzione Esempio: se la gestione di un evento richiede 100 ms, la frequenza di invocazione sarà limitata a 1000 al secondo anche se in media vengono gestite solo 100 richieste in parallelo | 1000 al secondo | No | per funzione |
Dimensione massima dei dati degli eventi simultanei | La dimensione totale massima degli eventi in ingresso per le chiamate simultanee di una singola funzione Esempio: se gli eventi hanno una dimensione di 1 MB e l'elaborazione degli stessi richiede 10 secondi, la velocità media sarà di 1 evento al secondo, poiché l'11° evento non verrà elaborato fino al termine dell'elaborazione di uno dei primi 10 eventi | 10 MB | No | per funzione |
Velocità effettiva massima degli eventi in arrivo | Il throughput massimo di eventi in ingresso a una singola funzione Esempio: se gli eventi hanno una dimensione di 1 MB, la frequenza di invocazione può essere al massimo di 10 al secondo, anche se le funzioni terminano entro 100 ms | 10 MB al secondo | No | per funzione |
Quando raggiungi un limite di quota
Quando una funzione consuma tutta una risorsa allocata, la risorsa diventa non disponibile finché la quota non viene aggiornata o aumentata. Ciò potrebbe significare che la tua funzione e tutte le altre funzioni nello stesso progetto non funzioneranno fino a quel momento. Una funzione restituisce un codice di errore HTTP 500 quando una delle risorse supera la quota e la funzione non può essere eseguita.
Per aumentare le quote al di sopra delle impostazioni predefinite qui elencate, vai alla pagina Quote di Cloud Functions , seleziona le quote che desideri modificare, fai clic su MODIFICA QUOTE , fornisci le informazioni utente se richiesto e inserisci il nuovo limite di quota per ciascuna quota selezionata.
Limiti di quota per la distribuzione della CLI di Firebase
Per ciascuna funzione implementata dall'interfaccia a riga di comando di Firebase, sono interessati questi tipi di velocità e limiti di tempo:
- Chiamate API (READ) - 1 chiamata per distribuzione, indipendentemente dal numero di funzioni
- Limite: 5000 ogni 100 secondi
- Chiamate API (WRITE) - 1 chiamata per funzione
- Limite: 80 ogni 100 secondi
Vedere anche il riferimento alla CLI di Firebase .