Como definir o máximo de solicitações simultâneas por instância (serviços)

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Para entender o máximo de solicitações simultâneas por instância, leia o documento de conceitos.

Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também recebem automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.

Para os serviços do Cloud Run, é possível definir o máximo de solicitações simultâneas por instância usando o console do Google Cloud, a linha de comando gcloud ou um arquivo .yaml ao criar um novo serviço ou implantar uma nova revisão:

Console

  1. Acessar o Cloud Run

  2. Clique em Criar serviço se estiver configurando um novo serviço em que fará uma implantação. Se você estiver configurando um serviço atual, clique nele e em Editar e implantar nova revisão.

  3. Se você estiver configurando um novo serviço, preencha a página inicial de configurações de serviço conforme desejado e clique em Contêiner, conexões, segurança para expandir a página de configuração do serviço.

  4. Clique na guia Contêiner.

    imagem

  5. Defina o máximo de solicitações simultâneas por valor de instância na caixa de texto Máximo de solicitações por contêiner.

  6. Clique em Criar ou Implantar.

Linha de comando

Para definir o máximo de solicitações simultâneas por instância, use o seguinte comando:

gcloud run services update SERVICE --concurrency CONCURRENCY

Substituir

  • SERVICE pelo nome do serviço;
  • CONCURRENCY pelo número máximo de solicitações simultâneas por instância de contêiner. Por exemplo, o comando a seguir define um máximo de 1 solicitações simultâneas:

    gcloud run services update SERVICE --concurrency 1

Alterar o número máximo de solicitações simultâneas por instância de um determinado serviço captura essa configuração em uma nova revisão.

Para reverter para o máximo de solicitações simultâneas padrão por instância (80), use o comando

gcloud run services update SERVICE --concurrency default

Substitua SERVICE pelo nome do serviço que você está configurando.

YAML

É possível fazer o download e ver a configuração do serviço atual usando o comando gcloud run services describe --format export, que produz resultados limpos no formato YAML. Em seguida, modifique os campos descritos abaixo e faça upload do YAML modificado usando o comando gcloud run services replace. Modifique os campos somente conforme documentado.

  1. Para visualizar e fazer o download da configuração:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Atualize o atributo containerConcurrency:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          name: REVISION
        spec:
          containerConcurrency: CONCURRENCY

    Substitua:

    • SERVICE pelo nome do serviço do Cloud Run;
    • IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest;
    • CONCURRENCY pelo número máximo de solicitações simultâneas por instância de contêiner.
    • REVISION por um novo nome de revisão ou excluí-lo (se houver). Se você fornecer um novo nome de revisão, ele precisará atender aos seguintes critérios:
      • Começa com SERVICE-
      • Contém apenas letras minúsculas, números e -
      • Não termina com um -
      • Não excede 63 caracteres
  3. Substitua o serviço pela nova configuração usando o seguinte comando:

    gcloud run services replace service.yaml

Terraform

Adicione o seguinte a um recurso google_cloud_run_service em template.spec.containers na configuração do Terraform. Substitua 80 pelo número máximo desejado de solicitações simultâneas.

# Maximum concurrent requests
# https://cloud.google.com/run/docs/configuring/concurrency
container_concurrency = 80

Para aplicar a configuração do Terraform a um projeto do Google Cloud, siga estas etapas:

  1. Inicie o Cloud Shell.
  2. Defina o projeto do Google Cloud em que a configuração do Terraform será aplicada:
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
  3. Crie um diretório e abra um novo arquivo. O nome do arquivo precisa ter a extensão .tf, por exemplo: main.tf:
    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
  4. Copie a amostra para main.tf.
  5. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  6. Salve as mudanças pressionando Ctrl-x e depois y.
  7. Inicialize o Terraform:
    terraform init
  8. Revise a configuração e verifique se os recursos que o Terraform vai criar ou atualizar correspondem às suas expectativas:
    terraform plan

    Faça as correções necessárias na configuração.

  9. Para aplicar a configuração do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply

    Aguarde até que o Terraform exiba a mensagem "Apply complete!".

  10. Abra seu projeto do Google Cloud para ver os resultados. No console do Google Cloud, navegue até seus recursos na IU para verificar se foram criados ou atualizados pelo Terraform.

Ver configurações de simultaneidade

Para ver as configurações de simultaneidade atuais do serviço do Cloud Run:

Console

  1. Acesse o Cloud Run

  2. Clique no serviço de seu interesse para abrir a página Detalhes do serviço.

  3. Clique na guia Revisões.

  4. No painel de detalhes à direita, a configuração de simultaneidade está listada na guia Contêiner.

Linha de comando

  1. Use o comando a seguir:

    gcloud run services describe SERVICE
  2. Localize a configuração de simultaneidade na configuração retornada.