Escalador automático administrado

En esta página, se describe cómo funciona el escalador automático administrado y los costos y las limitaciones cuando se usa. También 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 la carga de trabajo o las necesidades de almacenamiento de la instancia a medida que la carga aumenta o disminuye. El ajuste de escala automático administrado aumenta la escala y agrega capacidad de procesamiento a la instancia, o reduce la escala, lo que le quita capacidad de procesamiento.

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 lo siguiente:

  • 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 automáticamente el más alto. Esto significa, por ejemplo, que si la instancia necesita 10 nodos para cumplir con el objetivo de uso de almacenamiento, pero 12 nodos para cumplir con el objetivo de uso de CPU, Spanner escala la instancia a 12 nodos.

A medida que cambia la capacidad de procesamiento, Spanner optimiza el almacenamiento de forma continua. Vuelve a balancear 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 aún provoca un uso de CPU más alto que el destino, 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 consola de Google Cloud en la página Estadísticas del sistema. 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 el impacto en la latencia.

Costos

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

Por ejemplo, si configuraste de forma manual tu instancia de Spanner a fin de que tenga suficiente capacidad de procesamiento para manejar las cargas de trabajo máximas en cualquier momento, tus 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 solías configurar tu instancia de Spanner de forma manual a fin de que tenga suficiente capacidad de procesamiento para las cargas de trabajo promedio y el rendimiento general se degrada cuando el tráfico de la carga de trabajo aumenta, los costos del 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 si configuras el límite máximo de nodos o unidades de procesamiento en el nivel que deseas 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 trasladar la instancia, puedes volver a habilitar el escalador automático administrado.
  • Debes establecer el límite mínimo en la instancia de ajuste de escala automático a 1,000 unidades de procesamiento o más, o a 1 nodo o más.
  • Cuando habilitas el ajuste de escala automático en una instancia existente, la capacidad de la instancia existente puede ser menor que el valor de límite mínimo que configuras en el escalador automático administrado. Sin embargo, la instancia aumenta la escala automáticamente hasta el valor mínimo configurado cuando la inicias. Por ejemplo, si tu instancia tiene un nodo, pero estableciste el valor mínimo en dos nodos, cuando la inicies, se escalará automáticamente hasta 2 nodos.

Parámetros del escalador automático administrado

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 estar entre el 10% y el 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 considerablemente menor 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 manejar las fluctuaciones en la cantidad de datos que almacenas. Este valor debe estar entre 10% y 99%. Para obtener orientación, consulta Determina el objetivo de uso de almacenamiento.
Límite mínimo La cantidad de capacidad de procesamiento más baja 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 capacidad de procesamiento a la que Spanner escala la instancia. Para los nodos, este valor debe ser mayor que 1 nodo (o 1,000 unidades de procesamiento) y igual o mayor que la cantidad mínima de nodos o unidades de procesamiento. El valor no puede ser más de 10 veces el número que elijas 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 objetivo óptimo de la instancia depende de los requisitos de latencia y capacidad de procesamiento de la carga de trabajo. Consulta las alertas de uso de CPU elevado a fin de ver nuestras recomendaciones sobre el uso máximo de CPU para instancias individuales regionales y multirregionales.

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. En el caso de las instancias de 1 nodo (1,000 unidades de procesamiento) o más, el tamaño de almacenamiento se limita a 4 TB por nodo.

Cómo determinar el límite máximo

El valor que elijas como la cantidad máxima de capacidad de procesamiento es igual a la cantidad de capacidad de procesamiento que la instancia necesita para manejar el tráfico más pesado, incluso si no esperas alcanzar ese volumen la mayor parte del tiempo. Spanner nunca escala verticalmente a más capacidad de procesamiento de la que necesita. También puedes considerar esta cantidad 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 configuraste para el ajuste de escala automático.

  • Si cambias una instancia de asignación manual al ajuste de escala automático administrado, debes encontrar la mayor capacidad de procesamiento que haya tenido la instancia en los últimos uno o dos meses. El límite máximo del escalador automático administrado debe ser al menos tan alto.

  • Si habilitas el escalador automático administrado para una instancia nueva, observa 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 va a crecer, puedes estimar la cantidad de capacidad de procesamiento que necesitas para cumplir con el objetivo de uso de almacenamiento incorporado y, luego, ajustar la cantidad más adelante.

También necesitas saber cuánta cuota le queda a tu nodo, debido a que 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 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 recomendado para el objetivo de CPU y el límite recomendado para el objetivo de almacenamiento.

Cómo determinar el límite mínimo

Establece un límite mínimo para el escalador automático administrado a fin de garantizar que tu instancia de Spanner pueda reducir la escala verticalmente 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 pequeño 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 a este mínimo hasta este mínimo cuando la inicias.

Después de iniciar la instancia que administra el ajuste de escala automático, debes realizar una prueba inicial para asegurarte de que funcione con el tamaño mínimo establecido. Debes volver a realizar pruebas periódicas para asegurarte de que continúe 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:

  • Tienes un evento de escala máxima próximo cuando esperas que el tráfico aumente de forma temporal y deseas asegurarte de tener suficiente capacidad de procesamiento.
  • Tu aplicación envía tráfico con aumentos bruscos. Cuando agregas capacidad de procesamiento nueva, Spanner vuelve a balancear de forma automática para usar los nodos o unidades de procesamiento nuevos. Dado que este proceso puede tardar varios minutos, te recomendamos que consideres adoptar un enfoque conservador y elegir 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 diez por ciento o menos del objetivo de 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 intenta escalar de inmediato la instancia al nuevo mínimo. Se aplican las restricciones estándar. Cuando se agota la cuota, tu solicitud para cambiar la configuración del escalador automático administrado falla y la configuración no se actualiza.

Marcas de parámetros y limitaciones de Google Cloud CLI

Cuando usas Google Cloud CLI para configurar el escalador automático administrado, hay algunas marcas obligatorias que debes configurar. Hay marcas opcionales que se usan 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 lo siguiente:

Las siguientes marcas son obligatorias cuando habilitas 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 las dos marcas siguientes cuando habilitas el escalador automático administrado:

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

Las siguientes limitaciones se aplican 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, cuando se usa --nodes, se 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 usar --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

Vigila el uso de la capacidad de procesamiento y ajusta la configuración, si es necesario, en especial después de habilitar el escalador automático administrado por primera vez. 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, ya que aumenta o disminuye la escala para cumplir con los requisitos de las cargas de trabajo. Las métricas también pueden ayudarte a medir si la configuración es óptima para cumplir con los requisitos de costo y carga de trabajo de tu 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 aumentar el máximo. 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 en 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 con la API de Cloud Monitoring.

¿Qué sigue?