Configura los límites de CPU para las instancias

En esta página, se describe cómo especificar la cantidad de CPU virtuales que se usará a cada instancia de Cloud Run. De forma predeterminada, las instancias de contenedor de Cloud Run están limitadas a 2 CPU virtuales. Puedes aumentar o disminuir este valor como se describe en esta página.

Configura y actualiza los límites de CPU virtuales

De forma predeterminada, cada instancia se establece en 2 CPU virtuales y 2 GiB para la memoria. Puedes cambiar esto a cualquiera de los valores que se muestran en la siguiente tabla.

La simultaneidad no se puede configurar, se establece en 80.

Tabla de CPU virtuales y memoria

A continuación, se describen los requisitos de memoria para las CPU virtuales:

CPU Memoria requerida
1 CPU virtual 512 MiB a 4 GiB
2 CPU virtuales 512 MiB a 8 GiB
4 CPU virtuales 2 a 16 GiB
6 CPU virtuales 4 a 24 GiB
8 CPU virtuales 4 a 32 GiB

Los valores mayores que 1 deben ser valores enteros.

Cantidad máxima de CPU virtuales

La cantidad máxima de CPU virtuales que puedes configurar es de 8 CPU virtuales.

Cantidad mínima de CPU virtuales

La CPU virtual mínima para la instancia es de 1 CPU virtual. Si bien cada contenedor se puede configurar con CPUs fraccionarias, la suma de todos los contenedores de la instancia debe ser mayor o igual a 1 CPU virtual.

Consideraciones de costo

El costo de tu recurso de Cloud Run se ve afectado por su configuración de CPU y el tiempo que está activo, entre otros factores. El aprovisionamiento excesivo de tus recursos puede aumentar tus costos. Para determinar qué configuración de CPU podría ser la mejor para tu recurso, haz lo siguiente:

  1. Establece una configuración inicial de referencia para un límite de CPU que equilibre el uso y los costos de la CPU.
  2. Supervisa las métricas de uso de la CPU en Cloud Monitoring mientras pruebas el sistema bajo carga.
  3. Ajusta la configuración de la CPU según sea necesario.

Si el uso de la CPU es constantemente bajo durante la carga máxima, considera reducir la asignación de CPU virtuales. Si la latencia es alta, considera aumentar la asignación de CPU virtuales.

Puedes ver datos de costos resumidos, datos de uso y recomendaciones de optimización de costos para los recursos en la página Optimización de Cloud Hub. Revisa los precios de Cloud Run o estima los costos con la calculadora de precios para obtener más información.

Picos de actividad y limitación de la CPU

Las instancias de Cloud Run usan un modelo de asignación de CPU compartida con cuotas de referencia y capacidad de aumentos de actividad, que se administra de manera similar a la asignación de cgroup del programador de Linux.

Cuando configuras límites de CPU virtuales para una instancia de Cloud Run, el comportamiento de la CPU consta de los siguientes mecanismos:

  • Cuota de referencia: A cada instancia se le asigna una referencia continua del 6.25% (1/16) por CPU virtual configurada. Puedes ejecutar tu instancia dentro de esta referencia de forma indefinida.
  • Capacidad de picos de actividad: Cuando tu instancia se ejecuta por debajo de su capacidad de referencia, acumula continuamente el tiempo de CPU sin usar en un presupuesto de saldo de picos de actividad (hasta 500 segundos). Cuando tu carga de trabajo activa tareas de uso intensivo de procesamiento, la instancia automáticamente alcanza un pico de hasta el 100% de su asignación de CPU virtuales configurada hasta que se agota el saldo de picos de actividad acumulado.
  • Limitación: Una vez que se agota el saldo de picos de actividad durante el uso elevado de la CPU, la instancia se limita a su cuota de referencia (6.25% por CPU virtual configurada) hasta que se acumula un saldo de picos de actividad adicional.
  • Reabastecimiento: El presupuesto de picos de actividad se reabastece cada vez que el uso de la CPU cae por debajo de la referencia del 6.25%.

Roles obligatorios

Para obtener los permisos que necesitas para configurar y, luego, implementar las instancias de Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta los roles de IAM de Cloud Run y los permisos de IAM de Cloud Run. Si tu instancia de Cloud Run interactúa con Google Cloud las APIs, como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información sobre cómo otorgar roles, consulta permisos de implementación y administra el acceso.

Configura los límites de CPU

Puedes establecer límites de CPU para una instancia de Cloud Run con Google Cloud CLI o YAML:

gcloud

Puedes actualizar los límites de CPU para una instancia determinada con el siguiente comando:

gcloud beta run instances update INSTANCE --cpu CPU

Reemplaza lo siguiente:

  • INSTANCE: el nombre de tu instancia
  • CPU: el límite de CPU Especifica el valor 1, 2, 4, 6, o 8 CPUs, según los requisitos que se muestran en la tabla de CPU y memoria.

También puedes configurar el valor de durante la implementación mediante el siguiente comando:

gcloud beta run instances deploy --image IMAGE_URL --cpu CPU

Reemplaza lo siguiente:

  • IMAGE_URL: una referencia a la imagen del contenedor, como us-docker.pkg.dev/cloudrun/container/hello:latest.
  • CPU: el valor 1, 2, 4, 6 o 8 CPUs, según los requisitos que se muestran en la tabla de CPU y memoria.

YAML

  1. Si creas una instancia nueva, omite este paso. Si actualizas una instancia existente, descarga su configuración de YAML:

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. En el siguiente ejemplo, se incluye la configuración de 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`

    Reemplaza lo siguiente:

    • INSTANCE: el nombre de tu instancia de Cloud Run
    • IMAGE_URL: una referencia a la imagen del contenedor, como us-docker.pkg.dev/cloudrun/container/hello:latest.
    • CPU: el valor límite de la CPU Especifica el valor 1, 2, 4, 6 o 8 CPUs, o de menos de 1 CPU, especifica un valor de 0.08 a menos de 1.00, en incrementos de 0.01. (Consulta la tabla en Configura y actualiza los límites de CPU para obtener la configuración necesaria).
  3. Crea o actualiza la instancia con el siguiente comando:

    gcloud beta run instances replace instance.yaml

Situación de ejemplo: Instancia de 2 CPU virtuales

Si una instancia está configurada con un límite de 2 CPU virtuales, sucede lo siguiente:

  1. Operación de referencia: La instancia puede ejecutarse de forma coherente y consumir hasta 0.125 CPU virtuales (6.25% de 2 CPU virtuales). Mientras opera bajo esta referencia, acumula saldo de picos de actividad.
  2. Pico de actividad completo: Cuando la carga de trabajo requiere potencia de procesamiento adicional, la instancia alcanza un pico de hasta 2 CPU virtuales (100% de uso) y consume su presupuesto de picos de actividad acumulado.
  3. Limitación: Cuando se agota el presupuesto de saldo de picos de actividad, la instancia se limita a la referencia de 0.125 CPU virtuales hasta que acumula un nuevo saldo de picos de actividad.

Visualiza la configuración de la CPU para la instancia

Puedes usar el comando gcloud beta run instances describe de Google Cloud CLI para ver los detalles de la configuración.