Nesta página, descrevemos como especificar o número de vCPUs a serem usadas para cada instância do Cloud Run. Por padrão, as instâncias de contêiner do Cloud Run são limitadas a 2 vCPUs. É possível aumentar ou diminuir esse valor conforme descrito nesta página.
Definir e atualizar limites de vCPU
Por padrão, cada instância é definida como 2 vCPUs e 2 GiB de memória. É possível mudar para qualquer um dos valores mostrados na tabela a seguir.
A simultaneidade não é configurável. Ela é definida como 80.
Tabela de vCPU e memória
Confira a seguir os requisitos de memória para vCPUs:
| CPUs | Memória necessária |
|---|---|
| 1 vCPU | 512 MiB a 4 GiB |
| 2 vCPU | 512 MiB a 8 GiB |
| 4 vCPUs | 2 a 16 GiB |
| 6 vCPUs | 4 a 24 GiB |
| 8 vCPUs | 4 a 32 GiB |
Os valores maiores que 1 precisam ser números inteiros.
Quantidade máxima de vCPU
A quantidade máxima de vCPU que você pode configurar é 8 vCPUs.
Quantidade mínima de vCPU
A vCPU mínima para a instância é 1 vCPU. Embora cada contêiner possa ser configurado com CPUs fracionárias, a soma de todos os contêineres na instância precisa ser maior ou igual a 1 vCPU.
Considerações sobre o custo
O custo do recurso do Cloud Run é afetado pela configuração da CPU e pelo tempo de atividade do recurso, entre outros fatores. O provisionamento excessivo de recursos pode aumentar os custos. Para determinar qual configuração de CPU é melhor para seu recurso:
- Estabeleça uma configuração de linha de base inicial para um limite de CPU que equilibre a utilização e os custos da CPU.
- Monitore as métricas de utilização da CPU no Cloud Monitoring ao testar o sistema sob carga.
- Ajuste a configuração da CPU conforme necessário.
Se a utilização da CPU for consistentemente baixa sob carga máxima, considere reduzir a alocação de vCPU. Se a latência for alta, considere aumentar a alocação de vCPU.
É possível conferir dados de custo resumidos, dados de utilização e recomendações de otimização de custos para recursos na página de otimização do Cloud Hub. Consulte os preços do Cloud Run ou estime os custos com a calculadora de preços para mais informações.
Burst e limitação da CPU
As instâncias do Cloud Run usam um modelo de alocação de CPU compartilhada com cotas de linha de base e capacidade de burst, gerenciado de maneira semelhante à alocação cgroup do programador do Linux.
Ao configurar limites de vCPU para uma instância do Cloud Run, o comportamento da CPU consiste nos seguintes mecanismos:
- Cota de linha de base:cada instância recebe uma linha de base contínua de 6,25% (1/16) por vCPU configurada. É possível executar a instância nessa linha de base indefinidamente.
- Capacidade de burst:quando a instância é executada abaixo da capacidade de linha de base, ela acumula continuamente o tempo de CPU não utilizado em um orçamento de saldo de burst (até 500 segundos). Quando a carga de trabalho aciona tarefas computacionalmente intensivas, a instância automaticamente aumenta até 100% da alocação de vCPU configurada até que o saldo de burst acumulado seja esgotado.
- Limitação:quando o saldo de burst é esgotado durante a alta utilização da CPU, a instância é limitada de volta à cota básica (6,25% por vCPU configurada) até que o saldo de burst adicional seja acumulado.
- Reposição:o orçamento de burst é reposto sempre que o uso da CPU cai abaixo da linha de base de 6,25%.
Funções exigidas
Para receber as permissões necessárias para configurar e implantar instâncias do Cloud Run, peça ao administrador para conceder a você os seguintes papéis do IAM:
- Desenvolvedor do Cloud Run (
roles/run.developer) na instância do Cloud Run - Usuário da conta de serviço (
roles/iam.serviceAccountUser) na identidade do serviço
Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se a instância do Cloud Run interage com Google Cloud APIs, como as bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.
Configurar limites de CPU
É possível definir limites de CPU para uma instância do Cloud Run usando a Google Cloud CLI ou o YAML:
gcloud
É possível atualizar os limites de CPU de uma determinada instância usando o comando a seguir:
gcloud beta run instances update INSTANCE --cpu CPU
Substitua:
- INSTANCE: o nome da instância.
- CPU: o limite de CPU. Especifique o valor
1,2,4,6, ou8CPUs, seguindo os requisitos mostrados na tabela de CPU e memória.
Também é possível definir o limite de CPU durante a implantação usando este comando:
gcloud beta run instances deploy --image IMAGE_URL --cpu CPU
Substitua:
IMAGE_URL: uma referência à imagem de contêiner, comous-docker.pkg.dev/cloudrun/container/hello:latest.- CPU: o valor
1,2,4,6, ou8CPUs, seguindo os requisitos mostrados na tabela de CPU e memória.
YAML
Se você estiver criando uma nova instância, pule esta etapa. Se você estiver atualizando uma instância existente, baixe a configuração YAML correspondente:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
O exemplo a seguir contém a configuração YAML:
apiVersion: run.googleapis.com/v1 kind: Instance metadata: name: INSTANCE annotations: run.googleapis.com/launch-stage: BETA spec: containers: — image: IMAGE_URL resources: limits: cpu: `CPU`
Substitua:
- INSTANCE: o nome da instância do Cloud Run.
IMAGE_URL: uma referência à imagem de contêiner, comous-docker.pkg.dev/cloudrun/container/hello:latest.- CPU: o valor do limite de CPU.
Especifique o valor de
1,2,4,6ou8CPUs. Para menos de uma CPU, especifique um valor de 0,08 a menos de 1,00, em incrementos de 0,01. (Consulte a tabela em Como configurar e atualizar limites de CPU para as configurações necessárias.)
Crie ou atualize a instância usando o comando a seguir:
gcloud beta run instances replace instance.yaml
Exemplo de cenário: instância de 2 vCPUs
Se uma instância estiver configurada com um limite de 2 vCPUs:
- Operação de linha de base:a instância pode ser executada de forma consistente consumindo até 0,125 vCPU (6,25% de 2 vCPUs). Ao operar nessa linha de base, ela acumula o saldo de burst.
- Burst completo:quando a carga de trabalho exige mais poder de processamento, a instância aumenta até 2 vCPUs (100% de utilização), consumindo o orçamento de burst acumulado.
- Limitação:quando o orçamento de saldo de burst é esgotado, a instância é limitada de volta à linha de base de 0,125 vCPU até acumular um novo saldo de burst.
Conferir a configuração da CPU da instância
É possível usar o comando gcloud beta run instances describe da Google Cloud CLI para conferir os detalhes da configuração.