Quotas et limites

Cette page détaille les limites évolutives et basées sur l'utilisation pour les fonctions Cloud selon le plan tarifaire Blaze avec paiement à l'utilisation. Ces limites s'appliquent aux projets Firebase qui déploient des fonctions dans l'environnement d'exécution Node.js 10.

Le plan Blaze fournit gratuitement une quantité généreuse d’appels, de temps de calcul et de trafic Internet. Cependant, les déploiements de fonctions entraînent des frais minimes pour l'espace de stockage utilisé pour le conteneur de la fonction. Consultez la FAQ Firebase pour plus d'informations.

Les quotas pour Google Cloud Functions englobent trois domaines :

  • Limites des ressources

    Ceux-ci affectent la quantité totale de ressources que vos fonctions peuvent consommer.

  • Délais

    Ceux-ci affectent la durée pendant laquelle les choses peuvent durer.

  • Limites de taux

    Ceux-ci affectent la fréquence à laquelle vous pouvez appeler l'API Cloud Functions pour gérer vos fonctions.

Les différents types de limites sont décrits plus en détail ci-dessous. Les différences entre les limites des Cloud Functions (1re génération) et des Cloud Functions (2e génération) sont notées le cas échéant.

Limites des ressources

Les limites de ressources affectent la quantité totale de ressources que vos fonctions peuvent consommer. La portée régionale est par projet, et chaque projet maintient ses propres limites.

Quota Description Limite (1re génération) Limite (2e génération) Peut être augmenté Portée
Nombre de fonctions Le nombre total de fonctions pouvant être déployées par région 1 000 1 000 moins le nombre de services Cloud Run déployés Non par région
Taille maximale du déploiement La taille maximale d'un déploiement de fonction unique 100 Mo (compressé) pour les sources.
500 Mo (non compressé) pour les sources et les modules.
N / A Non par fonction
Taille maximale des requêtes HTTP non compressées Données envoyées aux fonctions HTTP dans une requête HTTP 10 Mo 32 Mo Non par invocation
Taille maximale de la réponse HTTP non compressée Données envoyées depuis les fonctions HTTP dans une réponse HTTP 10 Mo 10 Mo pour les réponses en streaming.
32 Mo pour les réponses sans streaming.
Non par invocation
Taille maximale des événements pour les fonctions basées sur les événements Données envoyées lors d'événements aux fonctions d'arrière-plan 10 Mo 512 Ko pour les événements Eventarc.
10 Mo pour les événements existants.
Non par événement
Mémoire de fonction maximale Quantité de mémoire que chaque instance de fonction peut utiliser 8 Go 32 Go Non par fonction

Délais

Quota Description Limite (1re génération) Limite (2e génération) Peut être augmenté Portée
Durée maximale de la fonction La durée maximale pendant laquelle une fonction peut s'exécuter avant d'être terminée de force 540 secondes 60 minutes pour les fonctions HTTP.
9 minutes pour les fonctions événementielles.
Non par invocation

Limites de taux

Quota Description Limite (1re génération) Limite (2e génération) Peut être augmenté Portée
Appels API (LIRE) Appels pour décrire ou répertorier des fonctions via l'API Cloud Functions 5 000 par 100 secondes 1200 toutes les 60 secondes Uniquement pour la 1ère génération par projet (1ère génération)
par région (2e génération)
Appels API (ÉCRITURE) Appels pour déployer ou supprimer des fonctions via l'API Cloud Functions 80 toutes les 100 secondes 60 toutes les 60 secondes Non 1 par projet (1ère génération)
par région (2e génération)
Appels API (CALL) Appels à l'API "call" 16 toutes les 100 secondes N / A Non 2 par projet

Évolutivité

Les fonctions Cloud invoquées par HTTP évoluent rapidement pour gérer le trafic entrant, tandis que les fonctions d'arrière-plan évoluent plus progressivement. La capacité d'une fonction à évoluer est dictée par quelques facteurs, notamment :

  • Le temps nécessaire à l'exécution d'une fonction (les fonctions à exécution courte peuvent généralement évoluer pour gérer davantage de requêtes simultanées).
  • Le temps nécessaire à une fonction pour s'initialiser lors d'un démarrage à froid .
  • Le taux d'erreur de votre fonction.
  • Facteurs transitoires, tels que la charge régionale et la capacité du centre de données.

Les fonctions d'arrière-plan ont des limites supplémentaires, comme expliqué ci-dessous. Ces limites ne s'appliquent pas aux fonctions HTTP de 1ère génération.

Quotas supplémentaires pour les fonctions d'arrière-plan

Quota Description Limite Peut être augmenté Portée Version de produit
Nombre maximal d'appels simultanés Le nombre maximal d'appels simultanés d'une seule fonction
Exemple : si le traitement de chaque événement prend 100 secondes, le taux d'invocation sera limité à 30 par seconde en moyenne
3 000 Oui par fonction 1ère génération uniquement
Taux d'appel maximum Le taux maximum d'événements gérés par une seule fonction
Exemple : si le traitement d'un événement prend 100 ms, le taux d'invocation sera limité à 1000 par seconde même si seulement 100 requêtes, en moyenne, sont traitées en parallèle
1000 par seconde Non par fonction 1ère génération uniquement
Taille maximale des données d'événements simultanés La taille totale maximale des événements entrants pour les appels simultanés d'une seule fonction
Exemple : si les événements ont une taille de 1 Mo et que leur traitement prend 10 secondes, le débit moyen sera de 1 événement par seconde, car le 11ème événement ne sera traité qu'une fois le traitement de l'un des 10 premiers événements terminé.
10 Mo Non par fonction 1ère génération et 2ème génération
Débit maximum des événements entrants Le débit maximum des événements entrants vers une seule fonction
Exemple : si les événements ont une taille de 1 Mo, le taux d'invocation peut être maximum de 10 par seconde, même si les fonctions se terminent dans les 100 ms.
10 Mo par seconde Non par fonction 1ère génération et 2ème génération

Lorsque vous atteignez une limite de quota

Lorsqu'une fonction consomme la totalité d'une ressource allouée, la ressource devient indisponible jusqu'à ce que le quota soit actualisé ou augmenté. Cela peut signifier que votre fonction et toutes les autres fonctions du même projet ne fonctionneront pas d'ici là. Une fonction renvoie un code d'erreur HTTP 500 lorsqu'une des ressources dépasse son quota et que la fonction ne peut pas s'exécuter.

Pour augmenter les quotas au-dessus des valeurs par défaut répertoriées ici, accédez à la page Quotas de Cloud Functions , sélectionnez les quotas que vous souhaitez modifier, cliquez sur MODIFIER LES QUOTAS , fournissez vos informations utilisateur si vous y êtes invité et saisissez la nouvelle limite de quota pour chaque quota que vous avez sélectionné.

Limites de quota pour le déploiement de Firebase CLI

Pour chaque fonction déployée par la CLI Firebase, ces types de débit et de limites de temps sont affectés :

  • Appels API (READ) - 1 appel par déploiement, quel que soit le nombre de fonctions
    • Limite : 5 000 toutes les 100 secondes
  • Appels API (WRITE) - 1 appel par fonction
    • Limite : 80 toutes les 100 secondes

Voir également la référence Firebase CLI .