Configurar o mínimo de instâncias

É possível evitar a inicialização a frio do aplicativo e reduzir a latência dele definindo um número mínimo de instâncias.

O Cloud Functions escalona criando novas instâncias da função. Cada uma dessas instâncias pode processar apenas uma solicitação por vez. Portanto, grandes picos no volume de solicitações costumam causar tempos de espera mais longos à medida que novas instâncias são criadas para processar a demanda.

Como as funções não têm estado, às vezes a função inicializa o ambiente de execução do zero, o que é chamado de inicialização a frio. As inicializações a frio podem levar um tempo significativo para serem concluídas. Portanto, recomendamos definir um número mínimo de instâncias do Cloud Functions se o aplicativo for sensível à latência.

Instâncias inativas e inicializações a frio

Para minimizar o impacto de inicializações a frio, o Cloud Functions tenta manter as instâncias de função inativas por um período não especificado após manipular uma solicitação. Durante esse tempo ocioso, recursos como conexões de banco de dados abertas podem ser mantidos, caso outra solicitação precise ser processada. As instâncias mantidas dessa maneira são contabilizadas no limite máximo de instâncias da função, mas você não recebe cobranças por esse tempo de inatividade.

Esse comportamento integrado pode não ser o suficiente para seu aplicativo, especialmente se ele for sensível à latência. Definir explicitamente um número mínimo de instâncias pode ajudar a evitar inicializações a frio e reduzir a latência do aplicativo.

Quando as instâncias são mantidas inativas porque um número mínimo de instâncias foi definido, elas não são consideradas ativas a menos que tenham processado tráfego recentemente. Por exemplo, isso significa que, se uma função não tiver processado tráfego recentemente, a métrica "Instâncias ativas" pode mostrar que nenhuma instância está ativa, mesmo que um valor de instâncias mínimas tenha sido definido.

Quando você define um número mínimo de instâncias, é cobrado pelo tempo de inatividade dessas instâncias. Consulte Preços.

Como definir e limpar limites mínimos de instâncias

É possível definir um número mínimo de instâncias para uma função durante a implantação. Cada função tem a própria configuração de instâncias mínimas.

Como definir limites mínimos de instâncias

É possível definir um limite mínimo de instâncias usando a CLI do Google Cloud ou o Console do Google Cloud.

Console

Para definir um limite mínimo de instâncias para uma nova função:

  1. Para criar uma nova função, acesse a página do Cloud Functions no Console do Google Cloud:
    Acessar a página "Cloud Functions"

  2. Clique em Criar função.

  3. Preencha os campos obrigatórios da função.

  4. Expanda a seção Ambiente de execução, build... no final da página e clique na guia Ambiente de execução.

  5. No campo Números mínimo de instâncias na seção Escalonamento automático, insira um número maior ou igual a 1.

  6. Clique em Próxima.

  7. Clique em Implantar.

Para definir um limite mínimo de instâncias para uma função existente:

  1. Acesse a página do Cloud Functions no Console do Google Cloud:
    Acessar a página do Cloud Functions

  2. Clique no nome de uma função existente para acessar a respectiva página Detalhes da função.

  3. Clique em Editar.

  4. Expanda a seção Ambiente de execução, build... no final da página e clique na guia Ambiente de execução.

  5. No campo Números mínimo de instâncias na seção Escalonamento automático, insira um número maior ou igual a 1.

  6. Clique em Próxima.

  7. Clique em Implantar.

gcloud

Para definir um limite mínimo de instâncias, execute o seguinte comando:

gcloud functions deploy FUNCTION_NAME \
--min-instances MIN_INSTANCE_LIMIT

Substitua:

  • FUNCTION_NAME: o nome da sua função

  • MIN_INSTANCE_LIMIT: o número a ser definido como o limite mínimo de instâncias não pode exceder 1.000.

O limite mínimo de instâncias da função é definido.

Como limpar limites mínimos de instâncias

É possível limpar ou remover um limite mínimo de instâncias usando a Google Cloud CLI ou o console do Google Cloud.

Console

Para limpar o limite mínimo de instâncias de uma função:

  1. Acesse a página do Cloud Functions no Console do Google Cloud:
    Acessar a página "Cloud Functions"

  2. Clique no nome de uma função existente para acessar a respectiva página Detalhes da função.

  3. Clique em Editar.

  4. Expanda a seção Ambiente de execução, build... no final da página e clique na guia Ambiente de execução.

  5. No campo Número mínimo de instâncias na seção Escalonamento automático, insira 0.

  6. Clique em Próxima.

  7. Clique em Implantar.

gcloud

Use a sinalização --clear-min-instances no momento da implantação:

gcloud functions deploy FUNCTION_NAME --clear-min-instances

O limite mínimo de instâncias da função é apagado.

Como receber recomendações para definir o mínimo de instâncias

O serviço do recomendador fornece automaticamente recomendações para funções implantadas que podem se beneficiar de ter instâncias mínimas definidas.