Compartir a través de


Escalado de una instancia de Azure Cache for Redis

Azure Cache for Redis tiene diferentes ofertas de nivel que proporcionan flexibilidad en la elección del tamaño y las características de la caché. Mediante el escalado, puede cambiar el tamaño, el nivel y el número de nodos después de crear una instancia de caché para que coincida con las necesidades de la aplicación. En este artículo se muestra cómo escalar la caché en Azure Portal y herramientas tales como Azure PowerShell y la CLI de Azure.

Tipos de escalado

Básicamente, hay dos maneras de escalar una instancia de Azure Cache for Redis:

  • El escalado vertical aumenta el tamaño de la máquina virtual (VM) que ejecuta el servidor Redis, agregando más memoria, CPU virtuales (vCPU) y ancho de banda de red. El escalado vertical también se denomina escalar verticalmente. Lo contrario a escalar verticalmente es reducir verticalmente.

  • Escalar horizontalmente divide la instancia de caché en más nodos del mismo tamaño, lo que aumenta la memoria, las vCPU y el ancho de banda de red mediante la paralelización. El escalado horizontal también se conoce como escalar horizontalmente o particionamiento. Lo contrario a escalar horizontalmente es reducir horizontalmente. En la comunidad Redis, el escalado horizontal se denomina con frecuencia agrupación en clústeres.

Ámbito de disponibilidad

Nivel Básico y Estándar De primera calidad Enterprise y Enterprise Flash
Escala vertical
Reducción vertical No
Escalabilidad horizontal No
Reducir horizontalmente No No

Cuándo se debe escalar

Puede utilizar las características de supervisión de Azure Cache for Redis para supervisar el estado y el rendimiento de la memoria caché. Use esa información para determinar cuándo escalar la caché.

Puede supervisar las métricas siguientes para determinar si necesita escalar.

  • Carga de servidor de Redis
    • Una carga elevada del servidor Redis significa que el servidor no puede seguir el ritmo de las solicitudes de todos los clientes. Dado que un servidor Redis es un proceso de subprocesamiento único, normalmente resulta más útil escalar horizontalmente en lugar de escalar verticalmente. El escalado horizontal mediante la habilitación de la agrupación en clústeres permite distribuir las funciones de sobrecarga entre varios procesos de Redis. El escalado horizontal también ayuda a distribuir el cifrado/descifrado TLS y la conexión/desconexión, lo que acelera las instancias de caché mediante TLS.
    • El escalado vertical todavía puede resultar útil para reducir la carga del servidor, ya que las tareas en segundo plano pueden aprovechar más vCPU y liberar el subproceso para el proceso principal del servidor Redis.
    • Los niveles Enterprise y Enterprise Flash usan Redis Enterprise en lugar de Redis en código abierto. Una de las ventajas de estos niveles es que el proceso del servidor Redis puede aprovechar varias vCPU. Con varias vCPU, el escalado vertical y el horizontal en estos niveles pueden resultar útiles para reducir la carga del servidor.
  • Uso de memoria
    • Un uso elevado de memoria indica que el tamaño de los datos es demasiado grande para el tamaño de caché actual. Considere la posibilidad de escalar a un tamaño de caché con más memoria. El escalado vertical o el escalado horizontal son efectivos aquí.
  • Conexiones de cliente
    • Cada tamaño de caché tiene un límite en el número de conexiones de cliente que puede admitir. Si las conexiones de cliente están cerca del límite del tamaño de caché, considere la posibilidad de escalar verticalmente a un nivel mayor. El escalado horizontal no aumenta el número de conexiones de cliente admitidas.
    • Para obtener más información sobre los límites de conexión por tamaño de caché, vea Precios de Azure Cache for Redis.
  • Ancho de banda de red
    • Si el servidor de Redis supera el ancho de banda disponible, las solicitudes de los clientes podrían agotar el tiempo de espera debido a la incapacidad del servidor para insertar datos en el cliente lo suficientemente rápido. Consulta las métricas de "Lectura de caché" y "Escritura de caché" para ver el ancho de banda del lado servidor que se está usando. Si su servidor Redis está excediendo el ancho de banda de red disponible, debería considerar escalar horizontalmente o verticalmente a un tamaño de caché mayor con más ancho de banda de red.
    • En el caso de las cachés de nivel Enterprise que usan la directiva de clúster Enterprise, el escalado horizontal no aumenta el ancho de banda de red.
    • Para obtener más información sobre el ancho de banda de red disponible por tamaño de caché, consulte Preguntas frecuentes sobre Azure Cache for Redis.
  • Exámenes internos de Defender
    • En las caché EstándarC0 y C1, mientras que el examen interno de Defender se ejecuta en las máquinas virtuales, es posible que veas picos cortos en la carga del servidor que no han causado un aumento en las solicitudes de caché. Verás una mayor latencia para las solicitudes mientras se ejecutan exámenes internos de Defender en estos niveles un par de veces al día. La caché en los niveles C0 y C1 solo tienen un único núcleo a varias tareas, lo que divide el trabajo de atender solicitudes internas de análisis de Defender y Redis. Puedes reducir el efecto escalando a una oferta de nivel superior con varios núcleos de CPU, como C2.
    • El aumento del tamaño de la caché en los niveles superiores ayuda a abordar cualquier problema de latencia. Además, en el nivel de C2, tienes compatibilidad con hasta 2000 conexiones de clientes.

Para obtener más información sobre cómo determinar el plan de tarifa de caché que se va a usar, consulte Elección del nivel correcto y Preguntas frecuentes sobre Azure Cache for Redis.

Nota:

Para obtener más información sobre cómo optimizar el proceso de escalado, consulte la guía de procedimientos recomendados para el escalado

Prerrequisitos/limitaciones del escalado de Azure Cache for Redis

Puede escalar/reducir verticalmente a un plan de tarifa diferente con las siguientes restricciones:

  • No se puede escalar desde un plan de tarifa superior a un plan de tarifa inferior.
    • No se puede reducir verticalmente desde una caché Enterprise o Enterprise Flash a ningún otro nivel.
    • No puede cambiar de una memoria caché Premium a una memoria caché Estándar o Básica.
    • No puede cambiar de una memoria caché Estándar a una memoria caché Básica.
  • Puede cambiar de una memoria caché Básica a una memoria caché Estándar, pero no puede cambiar el tamaño al mismo tiempo. Si necesita un tamaño distinto, después puede realizar una operación de escalado hasta el tamaño deseado.
  • No puede escalar de una memoria caché Básica directamente a una memoria caché Premium. En primer lugar, escale desde Básica a Estándar en una operación de escalado y, después, desde Estándar a Prémium en la siguiente operación de escalado.
  • No se puede escalar de un tamaño mayor al tamaño C0 (250 MB). Sin embargo, puede escalar a cualquier otro tamaño dentro del mismo plan de tarifa. Por ejemplo, puede escalar de C5 Estándar a C1 Estándar.
  • No se puede escalar verticalmente desde una caché Premium, Estándar o Básica a una caché Enterprise o Enterprise Flash.
  • No se puede escalar entre Enterprise y Enterprise Flash.

Puede escalar horizontalmente/ verticalmente con las siguientes restricciones:

  • El escalado horizontal solo se admite en los niveles Premium, Enterprise y Enterprise Flash.
  • La reducción horizontal solo se admite en el nivel Premium.
  • En el nivel Premium, primero debe habilitarse la agrupación en clústeres antes de escalar o reducir horizontalmente.
  • En el nivel Premium, la compatibilidad con el escalado horizontal hasta 10 particiones está disponible con carácter general. La compatibilidad con hasta 30 particiones está en versión preliminar. (Para las memorias caché con dos réplicas, el límite de particiones es 20. Con tres réplicas, el límite de particiones es 15.)
  • Solo los niveles Enterprise y Enterprise Flash pueden escalar vertical y horizontalmente de manera simultánea.

Cómo escalar: niveles Básico, Estándar y Premium

Escalado y reducción vertical mediante Azure Portal

  1. Para escalar la caché, vaya a la caché en Azure Portal y seleccione Escalar en el menú Recursos.

    Captura de pantalla que muestra Escalar en el menú de recursos.

  2. Elija un plan de tarifa en el panel de trabajo y, a continuación, elija Seleccionar.

    Captura de pantalla que muestra los niveles de Azure Cache for Redis.

  3. Durante la operación de escalado de la memoria caché al nuevo plan de tarifa, se muestra la notificación Escalando Redis Cache.

    Captura de pantalla que muestra la notificación de escalado.

  4. Cuando se completa el escalado, el estado cambia de Escalado a En ejecución.

Nota:

Al escalar o reducir verticalmente una caché en el portal, las configuraciones maxmemory-reserved y maxfragmentationmemory-reserved se reducen horizontalmente de manera automática en proporción con el tamaño de la caché. Por ejemplo, si maxmemory-reserved se establece en 3 GB en una caché de 6 GB y se escala a una caché de 12 GB, la configuración se actualiza automáticamente a 6 GB durante el escalado. Al reducir verticalmente, ocurre lo contrario.

Escalado y reducción vertical mediante PowerShell

Las instancias de Azure Cache for Redis se pueden escalar con PowerShell con el cmdlet Set-AzRedisCache cuando se modifican las propiedades Sizeo Sku. En el ejemplo siguiente se muestra cómo escalar una caché denominada myCache a una caché de 6 GB en el mismo nivel.

   Set-AzRedisCache -ResourceGroupName myGroup -Name myCache -Size 6GB

Para obtener más información sobre cómo escalar con PowerShell, consulte Escalado de una instancia de Azure Cache for Redis con PowerShell.

Escalado y reducción vertical mediante la CLI de Azure

Para escalar las instancias de Azure Cache for Redis mediante la CLI de Azure, llame al comando az redis update. Use la propiedad sku.capacity para escalar dentro de un nivel, por ejemplo de una caché Estándar C0 a Estándar C1:

az redis update --cluster-name myCache --resource-group myGroup --set "sku.capacity"="2"

Utilice las propiedades "sku.name" y "sku.family" para escalar verticalmente a un nivel diferente, por ejemplo, de una caché Estándar C1 a una caché Premium P1:

az redis update --cluster-name myCache --resource-group myGroup --set "sku.name"="Premium" "sku.capacity"="1" "sku.family"="P"

Para obtener más información sobre el escalado con la CLI de Azure, consulte Modifique la configuración de una instancia existente de Azure Cache for Redis.

Nota:

Al escalar una memoria caché hacia arriba o hacia abajo de manera programática (por ejemplo, usando PowerShell o la CLI de Azure), cualquier maxmemory-reserved o maxfragmentationmemory-reserved se ignoran como parte de la solicitud de actualización. Solo se respeta el cambio de escalado. Puede actualizar esta configuración de memoria una vez completada la operación de escalado.