Máximo de solicitações simultâneas por instância (serviços)

Para serviços do Cloud Run, cada revisão é escalonada automaticamente conforme o número de instâncias de contêiner necessárias para processar todas as solicitações recebidas.

Quando mais instâncias de contêiner estiverem processando solicitações, mais CPU e memória serão usadas, gerando custos maiores.

Para ter mais controle, o Cloud Run fornece uma configuração de solicitações simultâneas máximas por instância que especifica o número máximo de solicitações que podem ser processadas simultaneamente por uma determinada instância de contêiner.

Máximo de solicitações simultâneas por instância

É possível configurar o máximo de solicitações simultâneas por instância. Por padrão, cada instância de contêiner do Cloud Run pode receber até 80 solicitações ao mesmo tempo. É possível aumentar esse limite até 1.000.

Embora seja necessário usar o valor padrão, é possível, se necessário, diminuir a simultaneidade máxima. Por exemplo, se o código não puder processar solicitações paralelas, defina a simultaneidade como 1.

O valor de simultaneidade especificado é um máximo, e o Cloud Run talvez não envie tantas solicitações para uma instância de contêiner específica se a CPU da instância já tiver muito uso.

O diagrama a seguir mostra como a configuração do máximo de solicitações simultâneas por instância afeta o número de instâncias de contêiner necessárias para processar as solicitações simultâneas recebidas:

Diagrama máximo de solicitações simultâneas por instância

Quando limitar a simultaneidade máxima a uma solicitação por vez?

É possível limitar a simultaneidade para que apenas uma solicitação por vez seja enviada para cada instância do contêiner em execução. Considere fazer isso nos casos em que:

  • cada solicitação usa a maior parte da CPU ou memória disponível;
  • sua imagem de contêiner não foi projetada para processar várias solicitações ao mesmo tempo, por exemplo, seu contêiner depende do estado global que duas solicitações não podem compartilhar.

Uma simultaneidade de 1 provavelmente terá impacto negativo sobre o desempenho do escalonamento, já que muitas instâncias de contêiner precisarão ser iniciadas para processar um pico nas solicitações de entrada.

Estudo de caso

As métricas a seguir mostram um caso de uso em que 400 clientes fazem três solicitações por segundo a um serviço do Cloud Run configurado com um número máximo de solicitações simultâneas por instância de um. A linha superior verde mostra as solicitações ao longo do tempo, a linha azul inferior mostra o número de instâncias de contêiner iniciadas para lidar com as solicitações.

Simultaneidade definida como 1

As métricas a seguir mostram 400 clientes fazendo três solicitações por segundo a um serviço do Cloud Run configurado com um máximo de solicitações simultâneas por instância de 80. A linha superior verde mostra as solicitações ao longo do tempo e a linha azul inferior mostra o número de instâncias de contêiner iniciadas para processar as solicitações. Muito menos instâncias são necessárias para lidar com o mesmo volume de solicitações.

Simultaneidade definida como 80

A seguir

Para gerenciar o máximo de solicitações simultâneas por instância dos serviços do Cloud Run, consulte Como definir o máximo de solicitações simultâneas por instância.

Para otimizar a configuração máxima de solicitações simultâneas por instância, consulte dicas de desenvolvimento para ajustar a simultaneidade.