Ir a la consola

Cuotas y límites

Al igual que otros servicios de Firebase, Cloud Functions para Firebase proporciona un plan gratuito, llamado “Spark”, y un plan de precio fijo, llamado “Flame”, con cuotas apropiadas para el desarrollo o las implementaciones a pequeña escala. Consulta los planes de precios para obtener más información sobre los límites y cuotas de Spark y Flame. En el resto de esta página, se describen los límites escalables basados en el uso del plan “Blaze”.

Las cuotas de Google Cloud Functions abarcan 3 áreas:

  • Límites de recursos

    Afectan la cantidad total de recursos que pueden consumir tus funciones.

  • Límites de tiempo

    Afectan el tiempo de ejecución de los recursos.

  • Límites de frecuencia

    Afectan la frecuencia con la que puedes llamar a la API de Cloud Functions o la frecuencia con la que se pueden usar los recursos. Puedes considerar las cuotas de frecuencia como "recursos a lo largo del tiempo".

Los diferentes tipos de límites se describen con más detalle a continuación.

Límites de recursos

Cuota Descripción Límite Se puede aumentar Alcance
Cantidad de funciones La cantidad total de funciones que se pueden implementar por proyecto. 1,000 No Por proyecto
Tamaño máximo de implementación El tamaño máximo de la implementación de una función. 100 MB (comprimida) para fuentes
500 MB (descomprimida) para fuentes más módulos
No Por función
Tamaño máximo de solicitudes HTTP sin comprimir Datos enviados a funciones de HTTP en una solicitud HTTP 10 MB No Por invocación
Tamaño máximo de respuesta HTTP sin comprimir Datos enviados desde funciones de HTTP en una respuesta HTTP 10 MB No Por invocación
Tamaño máximo de evento para funciones en segundo plano Los datos enviados en eventos a funciones en segundo plano. 10 MB No Por evento
Memoria máxima de la función La cantidad de memoria que puede usar una función. 2,048 MB No Por función

Límites de tiempo

Cuota Descripción Límite Se puede aumentar Alcance
Duración máxima de la función El tiempo máximo de ejecución de una función antes de que se la finalice forzadamente. 540 segundos No Por invocación
Tiempo máximo de compilación El tiempo máximo permitido para todas las compilaciones. Las compilaciones de funciones ocurren en el momento de la implementación. 120 minutos al día Por proyecto

Límites de frecuencia

Cuota Descripción Límite Se puede aumentar Alcance
Invocaciones de funciones por segundo La cantidad de invocaciones de funciones en un segundo. Si se excede, todas las funciones se pausarán hasta el siguiente período de cuota. 100,000,000 cada 100 segundos Por región
GHz/segundo La cantidad de GHz/segundo que consumen todas las funciones en ejecución. Por ejemplo, una función con 256 MB de memoria, que corresponde a 400 MHz de CPU (consulta precios por tiempo de procesamiento), consumirá 0.4 GHz/segundo si se ejecuta durante 1 segundo. El tiempo de una función en ejecución se redondea hacia arriba hasta el siguiente múltiplo de 100 ms. 100,000 GHz/segundo cada 100 segundos Por región
GHz/segundo diarios La cantidad de GHz/segundo que consumen todas las funciones en ejecución por día. 10,000,000 GHz/segundo por día Por proyecto
Llamadas a la API (LECTURA) Llamadas para describir o mostrar funciones a través de la API de Cloud Functions. 5,000 cada 100 segundos Por proyecto
Llamadas a la API (ESCRITURA) Llamadas para implementar o borrar funciones a través de la API de Cloud Functions. 80 cada 100 segundos No1 Por proyecto
Llamadas a la API (LLAMADA) Llamadas a la API “call”. 16 cada 100 segundos No2 Por proyecto
Datos de socket de entrada Transferencia de datos a todas las funciones en ejecución. Por ejemplo, los datos que usa una función que descarga un archivo desde Google Cloud Storage se considerarían en este límite. 10 GB cada 100 segundos Por región
Datos de socket de salida Transferencia de datos desde todas las funciones en ejecución, sin incluir los datos de respuestas HTTP. 10 GB cada 100 segundos Por región
Conexiones de socket Los intentos de establecer una conexión de socket de salida nueva. 1,000,000 cada 100 segundos Por región
Resoluciones de DNS Los intentos de resolver un nombre de dominio en DNS; los resultados almacenados en caché no cuentan para esta cuota 40,000 cada 100 segundos Por proyecto

Escalabilidad

Las funciones de Cloud Functions invocadas por HTTP escalan rápidamente para procesar el tráfico entrante, mientras que las funciones en segundo plano escalan de manera más gradual. Varios factores determinan la capacidad de escalamiento de las funciones, incluidos los siguientes:

  • El tiempo que tarda la ejecución completa de una función (aquellas más breves suelen escalar para procesar más solicitudes simultáneas)
  • El tiempo que tarda la inicialización en frío de una función
  • Los límites de frecuencia descritos anteriormente
  • La tasa de errores de la función
  • Factores transitorios, como la carga regional y la capacidad del centro de datos

Las funciones en segundo plano tienen límites adicionales, como se explica a continuación. Esos límites no se aplican a las funciones de HTTP.

Cuotas adicionales para las funciones en segundo plano

Cuota Descripción Límite Se puede aumentar Alcance
Cantidad máxima de invocaciones simultáneas La cantidad máxima de invocaciones simultáneas de una sola función
Ejemplo: Si controlar cada evento tarda 100 segundos, la frecuencia de invocación se limitará a 10 por segundo en promedio.
1,000 No Por función
Frecuencia de invocación máxima La frecuencia máxima de los eventos que controla una sola función
Ejemplo: Si controlar un evento tarda 100 ms, la frecuencia de invocación se limitará a 1,000 por segundo, incluso si solo se controlan 100 solicitudes simultáneas en promedio.
1,000 por segundo No Por función
Tamaño máximo de datos de eventos simultáneos El tamaño total máximo de los eventos entrantes a las invocaciones simultáneas de una sola función
Ejemplo: Si los eventos tienen 1 MB de tamaño y tardan 10 segundos en procesarse, la frecuencia promedio será 1 evento por segundo, dado que el 11.º evento no se procesará hasta que se termine de procesar uno de los 10 primeros eventos.
10 MB No Por función
Rendimiento máximo de los eventos entrantes El rendimiento máximo de los eventos entrantes a una sola función
Ejemplo: Si los eventos tienen 1 MB de tamaño, la frecuencia de invocación máxima puede ser de 10 por segundo, incluso si las funciones finalizan en un plazo de 100 ms.
10 MB por segundo No Por función

Qué ocurre cuando alcanzas el límite de una cuota

Cuando una función consume por completo un recurso asignado, este deja de estar disponible hasta que la cuota aumente o se renueve. Así, es posible que no se ejecute tu función ni ninguna otra en el mismo proyecto hasta entonces. Una función muestra un código de error HTTP 500 cuando se supera la cuota de uno de los recursos y no se puede ejecutar la función.

Si quieres aumentar las cuotas por sobre los valores predeterminados que se indican aquí, ve a la página de cuotas de Cloud Functions y selecciona las cuotas que quieras modificar. Luego, haz clic en EDITAR CUOTAS, proporciona tu información de usuario si se te solicita y, por último, ingresa el límite nuevo para cada cuota que hayas seleccionado.

Límites de cuotas para la implementación de Firebase CLI

Estos tipos de clasificaciones y límites de tiempo se ven afectados en cada función que implementa Firebase CLI:

  • Llamadas a la API (LECTURA): 1 llamada por implementación, independientemente de la cantidad de funciones
    • Límite: 5,000 por 100 segundos
  • Llamadas a la API (ESCRITURA): 1 llamada por función
    • Límite: 80 por 100 segundos
  • Tiempo máximo de compilación: Algunos minutos por función según el tamaño
    • Límite: 120 minutos por día

Consulta también la referencia de Firebase CLI.