Saltar al contenido principal

Introducción

El autoescalado de los recursos de la base de datos requiere un equilibrio cuidadoso: aumentar la capacidad demasiado lentamente puede poner en riesgo el rendimiento, mientras que reducirla de forma demasiado agresiva puede provocar oscilaciones constantes. ClickHouse Cloud permite reducciones de capacidad más rápidas, minimiza las oscilaciones del escalado y reduce sustancialmente los costos de infraestructura para cargas de trabajo variables, al tiempo que mantiene la estabilidad necesaria para las bases de datos de producción al combinar un marco de recomendaciones de dos ventanas con un sistema de recomendaciones de CPU basado en seguimiento de objetivos.

Escalado basado en CPU

El escalado de CPU se basa en target tracking, que calcula la asignación exacta de CPU necesaria para mantener la utilización en un nivel objetivo. Solo se activa una acción de escalado si la utilización actual de la CPU queda fuera de un rango definido: El recomendador evalúa la utilización de la CPU en función del uso histórico y determina un tamaño de CPU recomendado mediante esta fórmula:
Si la utilización de CPU está entre el 37.5 % y el 75 % de la capacidad asignada, no se realiza ninguna acción de escalado. Fuera de ese rango, el recomendador calcula el tamaño exacto necesario para volver al 53 % de utilización, y el servicio se escala en consecuencia.

Ejemplo

Un servicio con 4 vCPU asignadas experimenta un pico de uso de 3.8 vCPU (~95% de utilización), superando el umbral superior del 75%. El recomendador calcula: 3.8 / 0.53 ≈ 7.2 vCPU, y redondea al siguiente tamaño disponible (8 vCPU). Una vez que la carga disminuye y el uso cae por debajo del 37.5% (1.5 vCPU), el recomendador reduce de nuevo el tamaño de forma proporcional.

Recomendaciones basadas en memoria

ClickHouse Cloud recomienda automáticamente tamaños de memoria en función de los patrones de uso reales de su servicio. El recomendador analiza el uso durante una ventana de retrospección y añade holgura para absorber picos y evitar errores por falta de memoria (OOM). El recomendador tiene en cuenta tres señales:
  • Memoria de consulta: La memoria máxima utilizada durante la ejecución de la consulta
  • Memoria residente: La memoria máxima que mantiene el proceso en total
  • Eventos OOM: Si las consultas o las réplicas se han quedado sin memoria recientemente

Cómo se calcula la holgura

Para la memoria de consulta y la memoria residente, la holgura añadida depende de lo predecible que sea tu uso:
  • Uso estable (baja variación): multiplicador de 1.25x — más holgura, ya que el uso es constante y es poco probable que haya picos inesperados
  • Uso con picos (alta variación): multiplicador de 1.1x — menos holgura, para evitar el sobreaprovisionamiento en cargas de trabajo que ya presentan mucha variación
Si se detectan eventos OOM, el recomendador aplica un multiplicador más agresivo de 1.5x para garantizar que el servicio tenga suficiente memoria para recuperarse.

Recomendación final

El sistema toma el valor más alto de entre todas las señales:

Recomendador de dos ventanas

En lugar de usar una sola ventana, ClickHouse Cloud utiliza dos ventanas de retrospección con distintos intervalos de tiempo:
  • Ventana pequeña (3 horas): Captura patrones de uso recientes y permite reducir la escala más rápido
  • Ventana grande (30 horas): Garantiza que aumentemos la escala en un solo paso hasta el uso máximo observado en la ventana de retrospección más larga, en lugar de hacerlo mediante varios aumentos graduales. Esto es fundamental porque el escalado lleva tiempo e invalida las cachés locales; por eso, es más seguro aumentar la escala en un solo paso.
Cada ventana genera de forma independiente una recomendación a partir del análisis de memoria y CPU. Luego, el sistema combina estas recomendaciones según la dirección de escalado que sugiera cada ventana, como se muestra en la figura siguiente: Para profundizar en las decisiones de diseño del recomendador, consulta “Autoescalado más inteligente para ClickHouse: el enfoque de dos ventanas ”
Última modificación el 12 de junio de 2026