Quotas et limites

Cette page détaille les limites évolutives basées sur l'utilisation pour Cloud Functions selon le plan tarifaire Blaze pay-as-you-go. 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 de généreuses quantités d'invocations, de temps de calcul et de trafic Internet. Cependant, les déploiements de fonctions entraînent des frais à petite échelle 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 de ressources

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

  • Délais

    Ceux-ci affectent la durée de fonctionnement des choses.

  • Limites de taux

    Ceux-ci affectent la vitesse à laquelle vous pouvez appeler l'API Cloud Functions et/ou la vitesse à laquelle les ressources peuvent être utilisées. Vous pouvez considérer les quotas de taux comme des "ressources au fil du temps".

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

Limites de 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 La 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 de déploiement maximale La taille maximale d'un déploiement de fonction unique 100 Mo (compressé) pour les sources.
500 Mo (non compressé) pour les sources plus 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 par les fonctions HTTP dans une réponse HTTP 10 Mo 10 Mo pour les réponses en streaming.
32 Mo pour les réponses non diffusées.
Non par invocation
Taille d'événement maximale pour les fonctions événementielles Données envoyées dans les événements aux fonctions d'arrière-plan 10 Mo 512 Ko pour les événements Eventarc.
10 Mo pour les événements hérités.
Non par événement
Mémoire de fonction maximale Quantité de mémoire que chaque instance de fonction peut utiliser 8 Gio 16 Gio Non par fonction

Délais

Quota La 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 fermée de force 540 secondes 60 minutes pour les fonctions HTTP.
10 minutes pour les fonctions événementielles.
Non par invocation

Limites de taux

Quota La 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 5000 par 100 secondes 1200 par 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 (WRITE) Appels pour déployer ou supprimer des fonctions via l'API Cloud Functions 80 par 100 secondes 60 par 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 par 100 secondes N / A Non 2 par projet

Évolutivité

Les fonctions cloud appelé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 demandes simultanées).
  • Le temps nécessaire à une fonction pour s'initialiser lors d'un démarrage à froid
  • Limites de taux , comme décrit ci-dessus.
  • 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 .

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

Quota La description Limite Peut être augmenté Portée
Appels simultanés maximum Le nombre maximal d'invocations simultanées d'une seule fonction
Exemple : si la gestion de chaque événement prend 100 secondes, le taux d'invocation sera limité à 30 par seconde en moyenne
3 000 Non par fonction
Taux d'appel maximal Le taux maximum d'événements gérés par une seule fonction
Exemple : si le traitement d'un événement prend 100ms, 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
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 taux moyen sera de 1 événement par seconde, car le 11e événement ne sera pas traité tant que le traitement de l'un des 10 premiers événements n'est pas terminé.
10 Mo Non par fonction
Débit maximal des événements entrants Le débit maximal d'événements entrants vers une seule fonction
Exemple : si les événements ont une taille de 1 Mo, le taux d'invocation peut être de 10 par seconde au maximum, même si les fonctions se terminent en moins de 100 ms
10 Mo par seconde Non par fonction

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 jusque-là. Une fonction renvoie un code d'erreur HTTP 500 lorsque l'une des ressources dépasse le quota et que la fonction ne peut pas s'exécuter.

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

Limites de quota pour le déploiement de la CLI Firebase

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

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

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