Cotas e limites

Esta página detalha os limites escalonáveis ​​e baseados em uso para Cloud Functions de acordo com o plano de preços pré-pago Blaze. Esses limites se aplicam a projetos do Firebase que implantam funções no ambiente de execução Node.js 10.

O plano Blaze oferece quantidades generosas de invocações, tempo de computação e tráfego de Internet gratuitamente. No entanto, as implantações de funções incorrem em cobranças de pequena escala pelo espaço de armazenamento usado para o contêiner da função. Consulte as Perguntas frequentes do Firebase para obter mais informações.

As cotas para Google Cloud Functions abrangem três áreas:

  • Limites de recursos

    Isso afeta a quantidade total de recursos que suas funções podem consumir.

  • Limites de tempo

    Isso afeta quanto tempo as coisas podem durar.

  • Limites de taxa

    Eles afetam a taxa na qual você pode chamar a API Cloud Functions para gerenciar suas funções.

Os diferentes tipos de limites são descritos com mais detalhes abaixo. As diferenças entre os limites para Cloud Functions (1ª geração) e Cloud Functions (2ª geração) são indicadas quando aplicável.

Limites de recursos

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

Contingente Descrição Limite (1ª geração) Limite (2ª geração) Pode ser aumentado 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 Cloud Run implantados Não por região
Tamanho máximo de implantação O tamanho máximo de uma implantação de função única 100 MB (compactado) para fontes.
500 MB (descompactado) para fontes mais módulos.
N / D Não por função
Tamanho máximo da solicitação HTTP não compactada Dados enviados para funções HTTP em uma solicitação HTTP 10MB 32 MB Não por invocação
Tamanho máximo da resposta HTTP não compactada Dados enviados de funções HTTP em uma resposta HTTP 10MB 10 MB para respostas de streaming.
32 MB para respostas sem streaming.
Não por invocação
Tamanho máximo do evento para funções orientadas a eventos Dados enviados em eventos para funções em segundo plano 10MB 512 KB para eventos Eventarc.
10 MB para eventos legados.
Não por evento
Memória máxima de função Quantidade de memória que cada instância de função pode usar 8GiB 32GiB Não por função

Limites de tempo

Contingente Descrição Limite (1ª geração) Limite (2ª geração) Pode ser aumentado Escopo
Duração máxima da função A quantidade máxima de tempo 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 a eventos.
Não por invocação

Limites de taxa

Contingente Descrição Limite (1ª geração) Limite (2ª geração) Pode ser aumentado Escopo
Chamadas de API (LER) Chamadas para descrever ou listar funções por meio da API Cloud Functions 5.000 por 100 segundos 1200 por 60 segundos Somente para 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 por meio da API Cloud Functions 80 por 100 segundos 60 por 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 por 100 segundos N / D Não 2 por projeto

Escalabilidade

As Cloud Functions invocadas por HTTP são escalonadas rapidamente para lidar com o tráfego de entrada, enquanto as funções em segundo plano são escalonadas de forma mais gradual. A capacidade de expansão de uma função é ditada por alguns fatores, incluindo:

  • A quantidade de tempo que leva para a execução de uma função ser concluída (funções de execução curta geralmente podem ser ampliadas para lidar com mais solicitações simultâneas).
  • A quantidade de tempo que uma função leva para inicializar na inicialização a frio .
  • A taxa de erro da sua função.
  • Fatores transitórios, como carga regional e capacidade do data center.

As funções de segundo plano têm limites adicionais, conforme explicado abaixo. Esses limites não se aplicam às funções HTTP de 1ª geração.

Cotas adicionais para funções em segundo plano

Contingente Descrição Limite Pode ser aumentado Escopo Versão do produto
Máximo de invocações simultâneas O máximo de invocações simultâneas de uma única função
Exemplo: se o tratamento de cada evento levar 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 máxima de invocação A taxa máxima de eventos sendo tratados por uma única função
Exemplo: se o tratamento de um evento levar 100 ms, a taxa de invocação será limitada a 1.000 por segundo, mesmo que apenas 100 solicitações, em média, sejam tratadas em paralelo
1000 por segundo Não por função Somente 1ª geração
Tamanho máximo de dados de eventos simultâneos O tamanho total máximo de eventos recebidos para invocações simultâneas de uma única função
Exemplo: se os eventos tiverem 1 MB e o processamento levar 10 segundos, a taxa média será de 1 evento por segundo, pois o 11º evento não será processado até que o processamento de um dos 10 primeiros eventos termine
10MB Não por função 1ª geração e 2ª geração
Taxa de transferência máxima de eventos recebidos A taxa de transferência máxima de eventos recebidos para uma única função
Exemplo: se os eventos tiverem tamanho de 1 MB, a taxa de invocação poderá ser no máximo 10 por segundo, mesmo que as funções terminem em 100 ms
10 MB por segundo Não por função 1ª geração e 2ª geração

Quando você atinge um limite de cota

Quando uma função consome todo um recurso alocado, o recurso fica indisponível até que a cota seja atualizada ou aumentada. Isso pode significar que sua função e todas as outras funções do mesmo projeto não funcionarão até então. Uma função retorna um código de erro HTTP 500 quando um dos recursos ultrapassa a cota e a função não pode ser executada.

Para aumentar as cotas acima dos padrões listados aqui, acesse a página de cotas do Cloud Functions , selecione as cotas que deseja modificar, clique em EDITAR COTAS , forneça suas informações de usuário, se solicitado, e insira o novo limite de cota para cada cota selecionada.

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

Para cada função implantada pela CLI do Firebase, estes tipos de taxa e limites de tempo são afetados:

  • Chamadas de API (READ) – 1 chamada por implantação, não importa quantas funções
    • Limite: 5.000 por 100 segundos
  • Chamadas de API (WRITE) – 1 chamada por função
    • Limite: 80 por 100 segundos

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