Cotas e limites

Nesta página, mostramos detalhes sobre os limites escalonáveis e baseados em uso do Cloud Functions de acordo com o plano de preços de pagamento por uso do Blaze. Esses limites se aplicam a projetos do Firebase que implantam funções no ambiente de execução do Node.js 10.

O plano Blaze oferece grandes quantidades de invocações, tempo de computação e tráfego de Internet sem custo financeiro. No entanto, as implantações de função geram cobranças de pequena escala pelo espaço de armazenamento usado no contêiner da função. Consulte as Perguntas frequentes sobre o Firebase para mais informações.

As cotas do Firebase abrangem quatro áreas:

  • Limites de recursos

    Afetam a quantidade total de recursos que as funções podem consumir.

  • Limites do tempo

    Afetam o tempo em que algo pode ser executado.

  • Limites de taxas

    Afetam a frequência em que você pode chamar a API Firebase para gerenciar suas funções.

  • Limites de rede

    Afetam os limites de conexão e de instâncias de saída.

Veja abaixo mais detalhes sobre os diferentes tipos de limites. As diferenças entre os limites do Firebase (1ª geração) e do Firebase (2ª geração) são observadas quando aplicável.

Limites de recursos

Os limites de recursos afetam a quantidade total de recursos que as funções podem consumir. O escopo regional é definido por projeto, e cada projeto mantém limites próprios.

Cota Descrição Limite (1ª geração) Limite (2ª geração) Pode aumentar? Escopo
Número de funções O número total de funções que podem ser implantadas por região. 1.000 1.000 menos o número de serviços do Cloud Run implantados Não por região
Tamanho máximo da implantação O tamanho máximo da implantação de uma única função. 100 MB (compactado) para fontes
500 MB (descompactado) para a soma de fontes com módulos
N/A Não Por função
Tamanho máximo da solicitação HTTP descompactada Os dados enviados a funções HTTP em uma solicitação HTTP. 10 MB 32 MB Não Por invocação
Tamanho máximo da resposta HTTP descompactada Os dados enviados a partir de funções HTTP em uma resposta HTTP. 10 MB 10 MB para respostas de streaming.
32 MB para respostas que não sejam de streaming.
Não Por invocação
Tamanho máximo dos eventos de funções orientadas a eventos Os dados enviados nos eventos para funções em segundo plano. 10 MB 512 KB para eventos Eventarc.
10 MB para eventos legados.
Não Por evento
Memória máxima da função Quantidade de memória que cada instância de função pode usar 8GiB 32GiB Não Por função
Memória máxima do projeto Quantidade de memória, em By, que um projeto pode usar. É medida pela soma total da memória solicitada pelo usuário em instâncias de função em um período de 1 minuto. Depende da região selecionada. Esse limite pode ser maior em regiões de alta capacidade ou menor em regiões abertas recentemente. N/A Sim por projeto e região
CPU máxima do projeto Quantidade de CPU, em mili vCPU, que um projeto pode usar. Ela é medida pela soma total da CPU solicitada pelo usuário em todas as instâncias de função em um período de 1 minuto. Depende da região selecionada. Esse limite pode ser maior em regiões de alta capacidade ou menor em regiões abertas recentemente. N/A Sim por projeto e região

Limites do tempo

Cota Descrição Limite (1ª geração) Limite (2ª geração) Pode aumentar? Escopo
Duração máxima da função A quantidade máxima de tempo em que uma função pode ser executada antes de ser encerrada à força 540 segundos 60 minutos para funções HTTP.
9 minutos para funções orientadas por eventos.
Não Por invocação

Limites de taxas

Cota Descrição Limite (1ª geração) Limite (2ª geração) Pode aumentar? Escopo
Chamadas de API (READ) Chamadas para descrever ou listar funções pela API Firebase. 5.000 a cada 100 segundos 1.200 a cada 60 segundos Somente para a 1ª geração por projeto (1ª geração)
por região (2ª geração)
Chamadas de API (WRITE) Chamadas para implantar ou excluir funções pela API Firebase. 80 a cada 100 segundos 60 a cada 60 segundos Não 1 por projeto (1ª geração)
por região (2ª geração)
Chamadas de API (CALL) Chamadas para a API "call". 16 a cada 100 segundos N/A Não 2 Por projeto

Limites de rede

Para informações sobre a solicitação de rede e os limites de largura de banda do Firebase (2ª geração), confira Limites de rede.

Os limites de rede a seguir se aplicam ao Firebase (1ª geração):

  • Conexões de saída por segundo por instância: 500 (não pode ser aumentado)
  • Resoluções de DNS de saída por segundo por instância: 100 (não é possível aumentar)

Escalonabilidade

O Firebase invocado por HTTP é escalonado rapidamente para lidar com o tráfego de entrada, enquanto as funções em segundo plano têm um escalonamento mais gradual. O escalonamento de uma função é determinado por alguns fatores, incluindo:

  • o tempo necessário para a execução da função ser concluída. O escalonamento vertical de funções de curta duração geralmente acontece para que seja possível lidar com solicitações simultâneas;
  • o tempo necessário para uma função ser inicializada em uma inicialização a frio;
  • a taxa de erros da sua função;
  • Fatores temporários, como a carga regional e a capacidade do data center.

As funções de segundo plano também têm os limites adicionais explicados abaixo. Esses limites não se aplicam a funções HTTP de 1ª geração.

Outras cotas para funções de segundo plano

Cota Descrição Limite Pode aumentar? Escopo Versão do produto
Máximo de invocações simultâneas O número máximo de invocações simultâneas de uma única função
Exemplo: se o processamento de cada evento demorar 100 segundos, a taxa de invocação será limitada a 30 por segundo em média.
3.000 Sim Por função Somente 1ª geração
Taxa de invocação máxima A taxa máxima de eventos sendo processados por uma única função
Exemplo: se o processamento de um evento demorar 100 ms, a taxa de invocação será limitada a 1.000 por segundo, mesmo que apenas 100 solicitações, em média, sejam processadas em paralelo.
1.000 por segundo Não Por função Somente 1ª geração
Máximo de dados de eventos simultâneos O tamanho máximo total de eventos recebidos para invocações simultâneas de uma única função
Exemplo: se os eventos tiverem 1 MB e o processamento deles levar 10 segundos, em média, a taxa será de 1 evento por segundo, porque o 11º evento não será processado até que seja concluído o processamento de um dos 10 primeiros eventos.
10 MB Não Por função 1ª e 2ª geração
Capacidade máxima de eventos recebidos A capacidade máxima de eventos recebidos para uma única função
Exemplo: se os eventos tiverem 1 MB, a taxa de invocação poderá ser no máximo 10 por segundo, mesmo se as funções forem concluídas com 100 ms.
10 MB por segundo Não Por função 1ª e 2ª geração

Quando você atingir um limite de cota

Quando todo o recurso alocado é consumido por uma função, ele fica indisponível até que você renove ou aumente a cota. Isso significa que a função não será executada enquanto isso, assim como todas as outras funções no mesmo projeto. Uma função retorna um código de erro HTTP 500 quando um dos recursos excede a cota, e a função não pode ser executada.

Para aumentar as cotas acima dos padrões listados nesta página, acesse a Página de cotas do Firebase e selecione as cotas que você quer modificar. Em seguida, clique em Editar cotas, forneça as informações do usuário se for necessário e insira o novo limite para cada cota.

Limites de cota para a implantação da Firebase CLI

Para cada função que a Firebase CLI implanta, esses tipos de limites de taxa e tempo são afetados:

  • Chamadas de API (READ): 1 chamada por implementação, independentemente de quantas funções
    • Limite: 5000 por 100 segundos
  • Chamadas de API (WRITE): 1 chamada por função
    • Limite: 80 por 100 segundos

Consulte também a referência da Firebase CLI.