Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Quotas et limites

Cette page détaille les limites évolutives basées sur l'utilisation pour Cloud Functions conformément au plan tarifaire Blaze à 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 de généreuses quantités d'appels, de temps de calcul et de trafic Internet. Cependant, les déploiements de fonction entraînent des frais à petite échelle pour l'espace de stockage utilisé pour le conteneur de la fonction. Voir la Firebase FAQ pour plus d' informations.

Les quotas pour les fonctions Google Cloud englobent 3 domaines :

  • Limites de ressources

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

  • Délais

    Ceux-ci affectent combien de temps les choses peuvent fonctionner.

  • Limites de taux

    Ceux-ci affectent la fréquence à laquelle vous pouvez appeler l'API Cloud Functions et/ou la fréquence à 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.

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 Peut être augmenté Portée
Nombre de fonctions Le nombre total de fonctions pouvant être déployées par région 1 000 Non par région
Taille de déploiement maximale La taille maximale d'un déploiement à fonction unique 100 Mo (compressés) pour les sources.
500 Mo (non compressés) pour les sources et les modules.
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 Non par appel
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 Non par appel
Taille maximale de l'événement pour les fonctions d'arrière-plan Données envoyées dans les événements aux fonctions d'arrière-plan 10 Mo Non par événement
Mémoire de fonction max Quantité de mémoire que chaque instance de fonction peut utiliser 8192 Mio Non par fonction

Délais

Quota La description Limite 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 arrêtée de force 540 secondes Non par appel

Limites de taux

Quota La description Limite Peut être augmenté Portée
Appels d'API (LIRE) Appels pour décrire ou lister des fonctions via l'API Cloud Functions 5000 pour 100 secondes Oui par projet
Appels d'API (WRITE) Appels pour déployer ou supprimer des fonctions via l'API Cloud Functions 80 pour 100 secondes Non 1 par projet
Appels API (CALL) Appels à l'API "call" 16 pour 100 secondes 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 de courte durée peuvent généralement évoluer pour gérer davantage de demandes simultanées).
  • La quantité de temps qu'il faut pour une fonction d'initialisation sur le 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 sont pas applicables aux fonctions HTTP .

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

Quota La description Limite Peut être augmenté Portée
Nombre maximal d'appels simultanés Le nombre maximal d'appels simultanés d'une seule fonction
Exemple: si la manipulation de chaque événement prend 100 secondes, le taux d'appel sera limité à 30 par seconde en moyenne
3 000 Non par fonction
Taux d'appel maximal Le taux maximum d'événements traités par une seule fonction
Exemple: si la manipulation d' un événement a 100ms, le taux d'appel sera limité à 1000 par seconde , même si seulement 100 demandes, en moyenne, sont traités 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 sont de taille 1MB et de les traiter en 10 secondes, le taux moyen sera de 1 événement par seconde, parce que le 11 cas ne sera pas traitée jusqu'à ce que le traitement de l' un des 10 premiers événements finitions
10 Mo Non par fonction
Débit maximum des événements entrants Le débit maximal d'événements entrants vers une seule fonction
Exemple: si les événements sont de taille 1Mo, le taux d'invocation peut être maximum de 10 par seconde, même si les fonctions Finissant dans 100ms
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- dessus des valeurs par défaut indiquées ici, allez aux fonctions de Cloud Quotas page , sélectionnez les quotas que vous souhaitez modifier, cliquez sur QUOTAS EDIT, fournir vos informations utilisateur si vous êtes invité, et entrez la nouvelle limite de quota pour chaque contingent 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 pour 100 secondes
  • Appels API (WRITE) - 1 appel par fonction
    • Limite : 80 pour 100 secondes

Voir aussi la référence Firebase CLI .