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. 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 el tamaño de tu instancia de forma automática por ti. La función del escalador automático administrado reacciona a los cambios en la carga de trabajo o las necesidades de almacenamiento de tu instancia a medida que aumenta o disminuye la carga. El ajuste de escala automático administrado aumenta la escala, lo que agrega capacidad de procesamiento a la instancia, o reduce la escala, lo que quita 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 referirnos a los nodos o las 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 que, por ejemplo, si tu instancia necesita 10 nodos para cumplir con tu objetivo de uso de almacenamiento, pero 12 para cumplir con tu objetivo de uso de CPU, Spanner escala la instancia a 12 nodos.
A medida que cambia la cantidad de capacidad de procesamiento, Spanner optimiza el almacenamiento de manera continua. Rebalancea los datos en todos los servidores para garantizar que el tráfico se distribuya de manera uniforme y que no se sobrecargue ningún servidor individual. 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 más alto que el objetivo, las solicitudes de carga de trabajo pueden tener una latencia más alta o fallar. Si una instancia se escala hasta su objetivo de capacidad de procesamiento máximo, 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 alcanzó 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 verticalmente 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 más bajos o más altos según cómo hayas configurado tu instancia de Spanner antes de habilitar el escalador automático administrado y los límites que hayas establecido para él.
Por ejemplo, si solías configurar manualmente tu instancia de Spanner para que tenga suficiente capacidad de procesamiento para controlar las cargas de trabajo máximas en cualquier momento, tus costos con el escalador automático administrado podrían ser más bajos porque reduce la capacidad de procesamiento cuando la instancia está inactiva.
Si solías configurar manualmente tu instancia de Spanner para que tenga suficiente capacidad de procesamiento para cargas de trabajo promedio y el rendimiento general se degrada cuando aumenta el tráfico de la carga de trabajo, es posible que tus costos con el escalador automático administrado sean más altos, ya que este puede aumentar la capacidad de procesamiento cuando la instancia está ocupada. Sin embargo, esto les brinda a los usuarios un rendimiento más continuo.
Puedes limitar el costo máximo de tu instancia de Spanner configurando el límite máximo de nodos o unidades de procesamiento al nivel que desees invertir.
Limitaciones
Se aplican las siguientes limitaciones cuando habilitas o cambias la función de escalamiento automático administrado en una instancia:
- No puedes mover una instancia cuando la función del ajustador de escala administrado está habilitada. Primero, debes inhabilitar el ajustador de escala 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 de ajuste de escala automático en 1,000 unidades de procesamiento o más, o 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 inferior al valor de límite mínimo que configuras en el escalador automático administrado. Sin embargo, la instancia se escala automáticamente hasta el valor mínimo configurado cuando la inicias. Por ejemplo, si tu instancia tiene un nodo, pero estableces el valor mínimo en dos, cuando la inicias, se escala automáticamente a 2 nodos.
Parámetros del escalador automático administrado
Cuando creas o editas una instancia y eliges habilitar el ajustador de escala administrado, debes definir los valores que se muestran en la siguiente tabla.
Parámetro | Descripción |
---|---|
Objetivo de uso de CPU de alta prioridad | Es un porcentaje de la capacidad de CPU de alta prioridad de la instancia. Este valor debe ser de 10% a 90%. Cuando el uso de CPU de una instancia supera el objetivo que estableciste, Spanner agrega capacidad de procesamiento a la instancia de inmediato. Cuando el uso de CPU es mucho 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 | Es 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 del almacenamiento. |
Límite mínimo | La cantidad más baja de capacidad de procesamiento a la que Spanner reduce 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 | Es la cantidad más alta de capacidad de procesamiento a la que Spanner escala la instancia. En el caso de los nodos, este valor debe ser mayor que 1 nodo (o 1,000 unidades de procesamiento) y ser igual o mayor que la cantidad mínima de nodos o unidades de procesamiento. El valor no puede ser más de 10 veces la cantidad mínima de capacidad de procesamiento que elijas. 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 tus parámetros del ajustador de escala automático administrado. Después de configurar los valores iniciales, supervisa la instancia y ajusta los números si es necesario.
Determina el objetivo de uso de CPU
El objetivo óptimo para tu instancia depende de los requisitos de capacidad de procesamiento y latencia de tu carga de trabajo. Para ver nuestras recomendaciones sobre el uso máximo de CPU para configuraciones de instancias regionales, de doble región y multirregionales, consulta Alertas para 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. En el caso de las instancias de 1 nodo (1,000 unidades de procesamiento) y más grandes, el tamaño de almacenamiento se limita a 10 TB por nodo.
Determina 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 capacidad de procesamiento que estás dispuesto a pagar. Consulta Parámetros del escalador automático para obtener más información sobre los valores aceptados.
El límite máximo debe permitir que se cumpla el objetivo de uso de CPU y el objetivo de uso de almacenamiento que estableces para el ajuste de escala automático.
Si cambias una instancia de asignación manual a ajuste de escala automático administrado, busca la mayor cantidad de capacidad de procesamiento que la instancia tuvo en el último mes o dos. 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 úsalos 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 el número más adelante.
También debes saber cuánta cuota queda en tu nodo, ya que el escalador automático administrado no puede configurar tu instancia para que tenga más capacidad de procesamiento que tu cuota. Para obtener más información, consulta Límites de nodos.
Después de 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 límite recomendado para el objetivo de CPU y el límite recomendado para el objetivo de almacenamiento.
Determina el límite mínimo
Estableces un límite mínimo para el escalador automático administrado para 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 la cantidad de nodos disminuya 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 de 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 se 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 funcione en el tamaño mínimo establecido. Debes volver a probarlo de forma periódica 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, querrás establecer el valor mínimo en más de uno. Elige una cantidad mayor o aumenta el límite mínimo para las siguientes situaciones:
- Tienes un evento de escala máxima próximo en el que esperas que el tráfico aumente de forma temporal y deseas asegurarte de tener la capacidad de procesamiento suficiente.
- Tu aplicación envía tráfico con aumentos bruscos. Cuando agregas nueva capacidad de procesamiento, Spanner se rebalancea automáticamente 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 valor mínimo más alto. De esta manera, tu instancia se adapta sin problemas a los aumentos repentinos.
- Aumentas la capacidad de procesamiento máxima. El mínimo siempre debe ser el diez por ciento o más del objetivo de capacidad de procesamiento máximo. Por ejemplo, si estableces la cantidad máxima de nodos en
30
, debes establecer la cantidad mínima de nodos en al menos3
.
Si aumentas el valor de la capacidad de procesamiento mínima en una instancia, Spanner intenta escalar la instancia al nuevo mínimo de inmediato. Se aplican las restricciones estándar. Cuando se agota la cuota, falla la solicitud para cambiar la configuración del escalador administrado y no se actualiza.
Marcas y limitaciones de los parámetros de Google Cloud CLI
Cuando usas Google Cloud CLI para configurar el escalador administrado, hay algunas marcas obligatorias que debes establecer. Hay marcas opcionales que puedes usar para indicar si quieres 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 habilitar el ajuste de escala automático administrado en una instancia existente, consulta los siguientes recursos:
Las siguientes marcas son obligatorias cuando habilitas el escalador automático administrado en tu instancia:
autoscaling-high-priority-cpu-percent
autoscaling-storage-percent
Si decides usar nodos, también debes usar ambas marcas cuando habilites el escalador automático administrado:
autoscaling-min-nodes
autoscaling-max-nodes
Si decides usar unidades de procesamiento, también debes usar las siguientes 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
, ya que usar--nodes
establece una cantidad específica de nodos en lugar de un rango de escalamiento. De manera similar, no puedes usar la marca--processing-units
con las marcasautoscaling-min-processing-units
oautoscaling-max-processing-units
, ya que 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 nodos y unidades de procesamiento. Por ejemplo, no puedes usar
--autoscaling-max-nodes
conautoscaling-min-processing-units
.
Ajusta tu configuración
Supervisa 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 que uses 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 un principal en un rol 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 carga de trabajo. Las métricas también pueden ayudarte a medir si tu configuración es óptima para satisfacer los requisitos de costos y carga de trabajo de tu empresa. Por ejemplo, si observas que la cantidad 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 la supervisión de tus recursos de Spanner, consulta Supervisa instancias con Cloud Monitoring.
Las siguientes métricas se muestran en grafos 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:
En la consola de Google Cloud, abre el Explorador de registros:
Selecciona el proyecto de Google Cloud adecuado.
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"
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 la Google Cloud o con laAPI de Cloud Monitoring.
¿Qué sigue?
- Obtén información para crear una instancia
- Obtén información para modificar una instancia para agregar el ajuste de escala automático o cambiar su configuración.
- Obtén información para cambiar una instancia del uso del ajuste de escala automático al escalamiento manual