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 en3
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 marcasautoscaling-min-processing-units
oautoscaling-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
conautoscaling-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:
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 Google Cloud o mediante la API de Cloud Monitoring.
¿Qué sigue?
- Aprende a crear una instancia
- Aprende a modificar una instancia para agregar ajuste de escala automático o cambiar su configuración
- Obtén información sobre cómo cambiar una instancia para que pase de usar el ajuste de escala automático a uno manual.