Escalador automático administrado

En esta página, se describe cómo funciona el escalador automático administrado y se describen los costos y las limitaciones cuando se usa el escalador automático administrado. También se proporciona información para ayudarte a determinar cómo configurar el escalador automático administrado.

Cómo funciona el escalador automático administrado

Cuando habilitas el escalador automático administrado, Spanner ajusta de forma automática el tamaño de la instancia. La función de escalador automático administrado reacciona a los cambios en las necesidades de almacenamiento o carga de trabajo de tu instancia a medida que aumenta o disminuye la carga. El ajuste de escala automático administrado aumenta la escala y agrega capacidad de procesamiento a la instancia, o reduce la escala y quita la capacidad de procesamiento de la instancia.

Cuando configuras el escalador automático administrado, puedes usar unidades de procesamiento para instancias pequeñas o nodos para instancias grandes. En este documento, usamos el término capacidad de procesamiento para referirse a nodos o unidades de procesamiento.

El escalador automático administrado de Spanner determina cuánta capacidad de procesamiento se requiere en función de los siguientes factores:

  • Objetivo de uso de CPU de alta prioridad
  • Objetivo de uso de almacenamiento
  • Límite mínimo
  • Límite máximo

Cada dimensión de escalamiento genera un tamaño de instancia recomendado y Spanner usa de forma automática el más alto. Esto significa que, por ejemplo, si tu instancia necesita 10 nodos a fin de cumplir con el objetivo de uso de almacenamiento, pero 12 nodos para cumplir con el objetivo de uso de CPU, Spanner escalará la instancia a 12 nodos.

A medida que cambia la cantidad de capacidad de procesamiento, Spanner optimiza el almacenamiento de forma continua. Rebalancea los datos en todos los servidores para garantizar que el tráfico se distribuya de manera uniforme y que ningún servidor individual se sobrecargue. Consulta Limitaciones para obtener más información.

Si el escalador automático administrado escala una instancia hasta su límite máximo, pero la carga de trabajo sigue causando un uso de CPU mayor que el objetivo, las solicitudes de carga de trabajo pueden tener una latencia más alta o fallar. Si una instancia escala verticalmente hasta su objetivo de capacidad de procesamiento máxima, pero la carga de trabajo necesita más almacenamiento que el límite máximo de almacenamiento, las solicitudes de escritura pueden fallar. Para saber si se alcanza el objetivo máximo, puedes ver los registros de eventos del sistema del escalador automático administrado en la página Estadísticas del sistema de la consola de Google Cloud. Para obtener más información, consulta los límites de almacenamiento.

Cuando Spanner reduce la escala de una instancia, quita la capacidad de procesamiento a una velocidad menor que cuando se escala verticalmente para reducir cualquier impacto en la latencia.

Costos

Los costos totales de Spanner pueden ser menores o mayores según cómo configuraste la instancia de Spanner antes de habilitar el escalador automático administrado y los límites que estableciste para el escalador automático administrado.

Por ejemplo, si configuraste de forma manual tu instancia de Spanner a fin de tener suficiente capacidad de procesamiento para manejar cargas de trabajo máximas en cualquier momento, los costos con el escalador automático administrado podrían ser más bajos, ya que reduce la capacidad de procesamiento cuando la instancia está inactiva.

Si configuraste de forma manual la instancia de Spanner a fin de que tenga suficiente capacidad de procesamiento para las cargas de trabajo promedio y el rendimiento general se degrada cuando aumenta el tráfico de las cargas de trabajo, los costos con el escalador automático administrado pueden ser más altos, ya que este último puede aumentar la capacidad de procesamiento cuando la instancia está ocupada. Sin embargo, esto proporciona a los usuarios un rendimiento más coherente.

Puedes limitar el costo máximo de tu instancia de Spanner mediante la configuración del límite máximo de nodos o unidades de procesamiento al nivel que desees gastar.

Limitaciones

Las siguientes limitaciones se aplican cuando habilitas o cambias la función de ajuste de escala automático administrado en una instancia:

  • No puedes mover una instancia cuando la función de escalador automático administrado está habilitada. Primero debes inhabilitar el escalador automático administrado y, luego, mover la instancia. Después de mover la instancia, puedes volver a habilitar el escalador automático administrado.
  • Debes establecer el límite mínimo en la instancia con ajuste de escala automático en 1,000 unidades de procesamiento o más, o en 1 nodo o más.
  • Cuando habilitas el ajuste de escala automático en una instancia existente, su capacidad puede ser menor que el valor límite mínimo que configuras en el escalador automático administrado. Sin embargo, la instancia escala verticalmente de forma automática al valor mínimo configurado cuando la inicias. Por ejemplo, si la instancia tiene un nodo, pero estableces el valor mínimo en dos, la escala se escala verticalmente de forma automática a 2 nodos cuando la inicias.

Parámetros administrados del escalador automático

Cuando creas o editas una instancia y eliges habilitar el escalador automático administrado, defines los valores que se muestran en la siguiente tabla.

Parámetro Descripción
Objetivo de uso de CPU de alta prioridad Un porcentaje de la capacidad de CPU de alta prioridad de la instancia. Este valor debe encontrarse entre 10% y 90%. Cuando el uso de CPU de una instancia supera el objetivo que estableciste, Spanner agrega de inmediato capacidad de procesamiento a la instancia. Cuando el uso de CPU es sustancialmente más bajo que el objetivo, Spanner quita la capacidad de procesamiento. Para obtener orientación, consulta Determina el objetivo de uso de CPU.
Objetivo de uso de almacenamiento El porcentaje de almacenamiento en un nodo que puedes usar antes de que Spanner escale verticalmente. Este objetivo garantiza que siempre tengas suficiente capacidad de procesamiento para controlar las fluctuaciones en la cantidad de datos que almacenas. Este valor debe estar entre el 10% y el 99%. Para obtener orientación, consulta Determina el objetivo de uso de almacenamiento.
Límite mínimo La cantidad más baja de capacidad de procesamiento a la que Spanner reduce la escala de la instancia. El valor mínimo no puede ser inferior al 10% del valor que estableciste para el límite máximo. Por ejemplo, si el límite máximo es de 40 nodos, el límite mínimo debe ser de al menos 4 nodos. El requisito del 10% es un límite estricto. Para obtener orientación, consulta Determina el límite mínimo.
Límite máximo La mayor cantidad de capacidad de procesamiento hasta la que Spanner escala la instancia. Para los nodos, este valor debe ser superior a 1 nodo (o 1,000 unidades de procesamiento) y a la cantidad mínima de nodos o unidades de procesamiento. El valor no puede ser más de 10 veces el número que eliges para la cantidad mínima de capacidad de procesamiento. Este requisito de 10 veces es un límite estricto. Para obtener orientación, consulta Determina el límite máximo.

Configura el escalador automático administrado

En esta sección, se describe cómo determinar qué números elegir para los parámetros del escalador automático administrado. Después de establecer los valores iniciales, supervisa tu instancia y ajusta los números si es necesario.

Determina el objetivo de uso de CPU

El destino óptimo para la instancia depende de los requisitos de latencia y capacidad de procesamiento de la carga de trabajo. Si deseas ver nuestras recomendaciones sobre el uso máximo de CPU para la configuración de instancias regionales, birregionales y multirregionales, consulta Alertas sobre el uso de CPU elevado.

En general, si observas una latencia inaceptablemente alta, debes reducir el objetivo de uso de CPU.

Determina el objetivo de uso del almacenamiento

Para el ajuste de escala automático, el objetivo de uso de almacenamiento se expresa como un porcentaje por nodo. Para instancias de 1 nodo (1,000 unidades de procesamiento) o más, el tamaño de almacenamiento se limita a 4 TB por nodo.

Determinar el límite máximo

El valor que eliges como la cantidad máxima de capacidad de procesamiento es igual a la que la instancia necesita para manejar el mayor tráfico, incluso si no esperas alcanzar ese volumen la mayor parte del tiempo. Spanner nunca escala verticalmente hasta una capacidad de procesamiento mayor de la que necesita. También puedes considerar este número como la mayor cantidad de capacidad de procesamiento que estás dispuesto a pagar. Consulta Parámetros del escalador automático para obtener detalles sobre los valores aceptados.

El límite máximo debe permitir el objetivo de uso de CPU y el objetivo de uso de almacenamiento que estableciste para el ajuste de escala automático.

  • Si cambias una instancia de asignación manual al ajuste de escala automático administrado, encuentra la cantidad más alta de capacidad de procesamiento que la instancia tuvo en los últimos uno o dos meses. El límite máximo del escalador automático administrado debe ser al menos ese alto.

  • Si habilitas el escalador automático administrado para una instancia nueva, consulta las métricas de otras instancias y úsalas como guía cuando establezcas el límite máximo.

  • Si tienes una carga de trabajo nueva y no estás seguro de cómo crecerá, puedes estimar la cantidad de capacidad de procesamiento que necesitas para cumplir con el objetivo de uso de almacenamiento integrado y, luego, ajustar la cantidad.

También debes saber cuánta cuota queda en tu nodo porque el escalador automático administrado no puede configurar tu instancia para que tenga más capacidad de procesamiento que la cuota. Para obtener más información, consulta Límites de nodos.

Una vez que tu instancia esté en funcionamiento y con el ajuste de escala automático habilitado, supervisa la instancia y asegúrate de que el valor que elegiste para el límite máximo sea al menos tan alto como el límite recomendado para el objetivo de CPU y el límite recomendado para el objetivo de almacenamiento.

Determina el límite mínimo

Establece un límite mínimo para el escalador automático administrado a fin de garantizar que la instancia de Spanner pueda reducir la escala al tamaño más pequeño y rentable. Spanner evita automáticamente que el recuento de nodos caiga por debajo del mínimo necesario para mantener los objetivos de uso de CPU y almacenamiento.

El valor mínimo más bajo que permite el escalador automático administrado es 1 nodo o 1,000 unidades de procesamiento. Cuando habilitas el ajuste de escala automático para una instancia existente que tiene menos capacidad que el valor mínimo configurado para el escalador automático administrado, la instancia escala automáticamente hasta este mínimo cuando la inicias.

Después de iniciar la instancia que administró el ajuste de escala automático, debes realizar una prueba inicial para asegurarte de que funciona con el tamaño mínimo del conjunto. Debes volver a realizar pruebas periódicas para asegurarte de que siga funcionando como se espera.

Para obtener más información sobre los valores aceptados, consulta Parámetros del escalador automático administrado en este documento.

En muchos casos, es recomendable establecer el valor mínimo en más de uno. Elige un número más alto o aumenta el límite mínimo en las siguientes situaciones:

  • Cuando esperas que tu tráfico aumente de forma temporal y quieres asegurarte de tener suficiente capacidad de procesamiento, tienes un evento de escala máxima próximamente.
  • Tu aplicación envía tráfico con aumentos bruscos. Cuando agregas una capacidad de procesamiento nueva, Spanner se rebalancea de forma automática para usar los nodos o las unidades de procesamiento nuevos. Debido a que este proceso puede tardar varios minutos, te recomendamos que adoptes un enfoque conservador y elijas un mínimo más alto. De esa manera, tu instancia se adapta sin problemas a los aumentos repentinos.
  • Aumentas la capacidad máxima de procesamiento. El mínimo siempre debe ser el diez por ciento o menos del objetivo de la capacidad de procesamiento máxima. Por ejemplo, si configuras la cantidad máxima de nodos en 30, debes establecer la cantidad mínima de nodos en 3 como mínimo.

Si aumentas el valor de la capacidad de procesamiento mínima en una instancia, Spanner intentará de inmediato escalar la instancia al nuevo mínimo. Se aplican las restricciones estándar. Cuando ya no tienes cuota, la solicitud para cambiar la configuración del escalador automático administrado falla y la configuración no se actualiza.

Marcas y limitaciones de parámetros de Google Cloud CLI

Cuando usas Google Cloud CLI para configurar el escalador automático administrado, hay algunas marcas obligatorias que debes establecer. Existen marcas opcionales que puedes usar para indicar si deseas usar nodos o unidades de procesamiento. Para obtener más información sobre cómo crear una instancia nueva con el escalador automático administrado o cómo habilitar el ajuste de escala automático administrado en una instancia existente, consulta los siguientes vínculos:

Las siguientes marcas son necesarias para habilitar el escalador automático administrado en tu instancia:

  • autoscaling-high-priority-cpu-percent
  • autoscaling-storage-percent

Si eliges usar nodos, también debes usar las dos marcas siguientes cuando habilitas el escalador automático administrado:

  • autoscaling-min-nodes
  • autoscaling-max-nodes

Si eliges usar unidades de procesamiento, también debes usar ambas marcas cuando habilites el escalador automático administrado:

  • autoscaling-min-processing-units
  • autoscaling-max-processing-units

Se aplican las siguientes limitaciones cuando se agrega el escalador automático administrado a una instancia existente con Google Cloud CLI:

  • No puedes usar la marca --nodes con las marcas --autoscaling-min-nodes o --autoscaling-max-nodes porque el uso de --nodes establece una cantidad específica de nodos en lugar de un rango de escalamiento. Del mismo modo, no puedes usar la marca --processing-units con las marcas autoscaling-min-processing-units o autoscaling-max-processing-units porque el uso de --processing-units establece una cantidad específica de unidades de procesamiento en lugar de un rango de escalamiento.
  • No puedes mezclar las marcas de los nodos y las unidades de procesamiento. Por ejemplo, no puedes usar --autoscaling-max-nodes con autoscaling-min-processing-units.

Ajusta tu configuración

Controla el uso de la capacidad de procesamiento y ajusta la configuración, si es necesario, en especial después de habilitar por primera vez el escalador automático administrado. Te recomendamos usar la página Estadísticas del sistema en la consola de Google Cloud.

Control de acceso

Para configurar el escalador automático administrado, debes ser una principal con una función que tenga permisos de creación y actualización para la instancia que estás configurando.

Supervisión

Spanner proporciona varias métricas para ayudarte a comprender qué tan bien funciona el escalador automático administrado a medida que aumenta o reduce la escala verticalmente para cumplir con los requisitos de la carga de trabajo. Las métricas también pueden ayudarte a determinar si la configuración es óptima para cumplir con los requisitos de carga de trabajo y costos de la empresa. Por ejemplo, si observas que el recuento de nodos de una instancia suele estar cerca de la cantidad máxima de nodos, puedes considerar aumentarlo. Para obtener más información sobre cómo supervisar los recursos de Spanner, consulta Supervisa instancias con Cloud Monitoring.

Las siguientes métricas se muestran en gráficos en la página Estadísticas del sistema de la consola de Google Cloud. También puedes ver estas métricas con Cloud Monitoring.

  • spanner.googleapis.com/instance/autoscaling/min_node_count
  • spanner.googleapis.com/instance/autoscaling/max_node_count
  • spanner.googleapis.com/instance/autoscaling/min_processing_units
  • spanner.googleapis.com/instance/autoscaling/max_processing_units
  • spanner.googleapis.com/instance/autoscaling/high_priority_cpu_target_utilization
  • spanner.googleapis.com/instance/autoscaling/storage_target_utilization

Logging

Spanner crea un registro de auditoría de eventos del sistema cada vez que escala una instancia.

Puedes ver los registros de eventos del sistema del escalador automático administrado en la consola de Google Cloud en la página Estadísticas del sistema.

También puedes ver los registros con el Explorador de registros:

  1. En la consola de Google Cloud, abre el Explorador de registros:

    Ir al Explorador de registros.

  2. Selecciona el proyecto de Google Cloud adecuado.

  3. En el campo Consulta, ingresa lo siguiente:

     protoPayload.methodName="AutoscaleInstance"
    

    Puedes agregar la siguiente consulta para filtrar aún más los registros:

    resource.type="spanner_instance"
    resource.labels.instance_id=INSTANCE_ID
    resource.labels.project_id=PROJECT_ID
    logName="projects/span-cloud-testing/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="AutoscaleInstance"
  4. Haz clic en Ejecutar consulta.

En el panel Resultados de la consulta, se muestran los registros de la última hora.

Para obtener más información sobre cómo ver los registros, consulta Cloud Logging. Puedes configurar alertas basadas en registros en la página Explorador de registros en Google Cloud o mediante la API de Cloud Monitoring.

¿Qué sigue?