Auf dieser Seite finden Sie Details zu den skalierbaren, nutzungsbasierten Limits für Cloud Functions gemäß dem Blaze-Preismodell „Pay as you go“. Diese Limits gelten für Firebase-Projekte, in denen Funktionen in der Node.js 10-Laufzeitumgebung bereitgestellt werden.
Der Tarif „Blaze“ bietet großzügige Mengen an Aufrufen, Rechenzeit und Internettraffic kostenlos. Für Funktionsbereitstellungen fallen jedoch geringe Kosten für den Speicherplatz an, der für den Container der Funktion verwendet wird. Weitere Informationen finden Sie in den häufig gestellten Fragen zu Firebase.
Kontingente für Google Cloud Functions umfassen drei Bereiche:
Ressourcenlimits
Diese beeinflussen die Gesamtmenge der Ressourcen, die Ihre Funktionen verbrauchen können.
Zeitlimits
Diese beeinflussen die maximale Ausführungsdauer der einzelnen Funktionen.
Ratenlimits
Diese beeinflussen die Rate, mit der Sie die Cloud Functions API aufrufen können, um Ihre Funktionen zu verwalten.
Die verschiedenen Arten von Limits werden im Folgenden näher beschrieben. Die Unterschiede zwischen den Limits für Cloud Functions (1st gen) und Cloud Functions (2nd gen) werden gegebenenfalls aufgeführt.
Ressourcenlimits
Ressourcenlimits beeinflussen die Gesamtmenge der Ressourcen, die Ihre Funktionen verbrauchen können. Der regionale Bereich gilt pro Projekt und jedes Projekt hat seine eigenen Limits.
Kontingent | Beschreibung | Limit (1. Generation) | Limit (2. Generation) | Kann erhöht werden | Umfang |
---|---|---|---|---|---|
Anzahl der Funktionen | Die Gesamtzahl der Funktionen, die pro Region bereitgestellt werden können | 1.000 | 1.000 minus die Anzahl der bereitgestellten Cloud Run-Dienste | Nein | pro Region |
Max. Bereitstellungsgröße | Die maximale Größe einer einzelnen Funktionsbereitstellung | 100 MB (komprimiert) für Quellen 500 MB (unkomprimiert) für Quellen und Module |
– | Nein | pro Funktion |
Max. unkomprimierte Größe einer HTTP-Anfrage | Daten, die an HTTP-Funktionen in einer HTTP-Anfrage gesendet werden | 10 MB | 32 MB | Nein | pro Aufruf |
Max. unkomprimierte Größe einer HTTP-Antwort | Daten, die von HTTP-Funktionen in einer HTTP-Antwort gesendet werden | 10 MB | 10 MB für Streamingantworten. 32 MB für Antworten ohne Streaming. |
Nein | pro Aufruf |
Max. Ereignisgröße für ereignisgesteuerte Funktionen | Daten, die in Ereignissen an Hintergrundfunktionen gesendet werden | 10 MB | 512 KB für Eventarc-Ereignisse 10 MB für Legacy-Ereignisse. |
Nein | pro Ereignis |
Max. Funktionsspeicher | Größe des Arbeitsspeichers, den jede Funktionsinstanz verwenden kann | 8 GiB | 32 GiB | Nein | pro Funktion |
Max. Projektspeicher | Die Größe des Arbeitsspeichers in „By“, den ein Projekt verwenden kann. Er wird anhand der Gesamtsumme des vom Nutzer angeforderten Arbeitsspeichers in allen Funktionsinstanzen über einen Zeitraum von einer Minute gemessen. | Hängt von der ausgewählten Region ab. Dieses Limit kann in Regionen mit hoher Kapazität höher oder in kürzlich geöffneten Regionen niedriger sein. | – | Ja | pro Projekt und Region |
Max. Projekt-CPU | CPU-Menge in Milli-vCPUs, die ein Projekt nutzen kann. Sie wird anhand der Gesamtsumme der vom Nutzer angeforderten CPU über Funktionsinstanzen über einen Zeitraum von 1 Minute gemessen. | Hängt von der ausgewählten Region ab. Dieses Limit kann in Regionen mit hoher Kapazität höher oder in kürzlich geöffneten Regionen niedriger sein. | – | Ja | pro Projekt und Region |
Zeitlimits
Kontingent | Beschreibung | Limit (1. Generation) | Limit (2. Generation) | Kann erhöht werden | Umfang |
---|---|---|---|---|---|
Max. Funktionsdauer | Der maximale Zeitraum, über den eine Funktion ausgeführt werden kann, bevor sie zwangsweise beendet wird. | 540 Sekunden | 60 Minuten für HTTP-Funktionen. 9 minutes for event-driven functions. |
Nein | pro Aufruf |
Ratenlimits
Kontingent | Beschreibung | Limit (1. Generation) | Limit (2. Generation) | Kann erhöht werden | Umfang |
---|---|---|---|---|---|
API-Aufrufe (READ) | Aufrufe zum Beschreiben oder Auflisten von Funktionen über die Cloud Functions API. | 5.000 pro 100 Sekunden | 1.200 pro 60 Sekunden | Nur für die 1. Generation | pro Projekt (1. Generation) pro Region (2. Generation) |
API-Aufrufe (WRITE) | Aufrufe zum Bereitstellen oder Löschen von Funktionen über die Cloud Functions API. | 80 pro 100 Sekunden | 60 pro 60 Sekunden | Nein 1 | pro Projekt (1. Generation) pro Region (2. Generation) |
API-Aufrufe (CALL) | Aufrufe an die API „call“. | 16 pro 100 Sekunden | – | Nein 2 | pro Projekt |
Skalierbarkeit
Funktionen von Cloud Functions, die über HTTP aufgerufen werden, lassen sich schnell für die Verarbeitung von eingehendem Traffic skalieren, während Hintergrundfunktionen mehr schrittweise skaliert werden. Die Fähigkeit einer Funktion zum Hochskalieren wird von einigen Faktoren bestimmt, darunter:
- Die Ausführungsdauer einer Funktion (Funktionen mit kurzer Ausführungsdauer lassen sich im Allgemeinen für die Verarbeitung einer größeren Anzahl gleichzeitiger Anfragen hochskalieren).
- Die Zeit, die eine Funktion nach einem Kaltstart zur Initialisierung benötigt.
- Die Fehlerrate Ihrer Funktion.
Vorübergehende Faktoren, wie z. B. die regionale Last oder die Rechenzentrumskapazität.
Zusätzliche Kontingente für Hintergrundfunktionen
Kontingent | Beschreibung | Limit | Kann erhöht werden | Umfang | Produktversion |
---|---|---|---|---|---|
Maximale Anzahl gleichzeitiger Aufrufe | Die maximale Anzahl gleichzeitiger Aufrufe einer einzelnen Funktion Beispiel: Wenn die Verarbeitung jedes Ereignisses 100 Sekunden dauert, ist die Aufrufrate im Durchschnitt auf 30 pro Sekunde begrenzt. |
3.000 | Ja | pro Funktion | Nur 1. Generation |
Maximale Aufrufrate | Die maximale Rate von Ereignissen, die von einer einzelnen Funktion verarbeitet werden. Beispiel: Wenn die Verarbeitung jedes Ereignisses 100 ms dauert, ist die Aufrufrate auf 1.000 Aufrufe pro Sekunde begrenzt, auch wenn durchschnittlich nur 100 Anfragen gleichzeitig verarbeitet werden. |
1.000 pro Sekunde | Nein | pro Funktion | Nur 1. Generation |
Maximale Datengröße gleichzeitiger Ereignisse | Die maximale Gesamtgröße eingehender Ereignisse für gleichzeitige Aufrufe einer einzelnen Funktion. Beispiel: Wenn Ereignisse eine Größe von 1 MB haben und ihre Verarbeitung 10 Sekunden dauert, liegt die Durchschnittsrate bei 1 Ereignis pro Sekunde, weil das 11. Ereignis nicht verarbeitet wird, bis die Verarbeitung von einem der ersten 10 Ereignisse abgeschlossen ist. |
10 MB | Nein | pro Funktion | 1. Generation und 2. Generation |
Maximaler Durchsatz eingehender Ereignisse | Der maximale Durchsatz eingehender Ereignisse für eine einzelne Funktion. Beispiel: Wenn Ereignisse eine Größe von 1 MB haben, kann die Aufrufrate maximal 10 pro Sekunde betragen, selbst wenn die Funktionen innerhalb von 100 ms abgeschlossen werden. |
10 MB pro Sekunde | Nein | pro Funktion | 1. Generation und 2. Generation |
Wenn Sie ein Kontingentlimit erreichen
Wenn eine Funktion eine zugeordnete Ressource vollständig verbraucht hat, ist sie erst nach einer Erneuerung bzw. Erweiterung des Kontingents wieder verfügbar. Dies kann bedeuten, dass diese sowie alle anderen Funktionen im selben Projekt bis dahin nicht funktionieren. Eine Funktion gibt den HTTP-Fehlercode 500 zurück, wenn eine der Ressourcen über dem Kontingent liegt und die Funktion daher nicht ausgeführt werden kann.
Auf der Seite „Kontingente“ in Cloud Functions können Sie Kontingente über die hier aufgeführten Standardwerte hinaus erhöhen. Wählen Sie dazu die Kontingente aus, die Sie ändern möchten, klicken Sie auf KONTINGENTE BEARBEITEN, geben Sie Ihre Nutzerdaten an, wenn Sie dazu aufgefordert werden, und legen Sie die neuen Limits für die ausgewählten Kontingente fest.
Kontingentlimits für die Bereitstellung mit der Firebase CLI
Für jede Funktion, die mit der Firebase CLI bereitgestellt wird, sind die folgenden Arten von Raten- und Zeitlimits betroffen:
- API-Aufrufe (READ): 1 Aufruf pro Bereitstellung, unabhängig von der Anzahl der Funktionen
- Limit: 5.000 pro 100 Sekunden
- API-Aufrufe (WRITE): 1 Aufruf pro Funktion
- Limit: 80 pro 100 Sekunden
Weitere Informationen finden Sie in der Referenz zur Firebase CLI.