Para serviços do Cloud Run, cada revisão é escalonada automaticamente conforme o número de instâncias necessárias para processar todas as solicitações recebidas.
Quando mais instâncias 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.
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 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:
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 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 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 iniciadas para lidar com as solicitações.
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 iniciadas para processar as solicitações. Muito menos instâncias são necessárias para lidar com o mesmo volume de solicitações.
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.