Compartir vía


Escalabilidad automática de unidades de una instancia de Azure SignalR Service

Importante

El escalado automático solo está disponible en el nivel Premium de Azure SignalR Service.

El nivel Premium de Azure SignalR Service admite una característica de escalabilidad automática, que es una implementación del escalado automático de Azure Monitor. El escalado automático le permite escalar automáticamente el número de unidades de su servicio SignalR para que coincida con la carga real del servicio. La escalabilidad automática puede ayudarle a optimizar el rendimiento y el costo de la aplicación.

Azure SignalR agrega sus propias métricas de servicio. Sin embargo, la mayor parte de la interfaz de usuario se comparte y es común a otros servicios de Azure que admiten la escalabilidad automática. Si no está familiarizado con el tema de las métricas de Azure Monitor, revise la agregación de métricas de Azure Monitor y la visualización explicada antes de profundizar en las métricas de SignalR Service.

Descripción de la escalabilidad automática en SignalR Service

La escalabilidad automática permite establecer condiciones que cambiarán dinámicamente las unidades asignadas a SignalR Service mientras se ejecuta el servicio. Las condiciones de escalabilidad automática se basan en métricas, como la carga del servidor. La escalabilidad automática también se puede configurar para que se ejecute según una programación, como cada día entre determinadas horas.

Por ejemplo, puede implementar los siguientes escenarios de escalado utilizando la escalabilidad automática.

  • Aumente las unidades cuando el uso de la cuota de conexión sea superior al 70 %.
  • Reduzca las unidades cuando la carga del servidor esté por debajo del 20 %.
  • Cree una programación para agregar más unidades durante las horas punta y reducir las unidades durante las horas fuera del horario laboral.

Hay varios factores que pueden afectar al rendimiento de SignalR Service. Ninguna métrica proporciona una vista completa del rendimiento del sistema. Por ejemplo, si envía un gran número de mensajes, es posible que tenga que escalar horizontalmente aunque la cuota de conexión sea relativamente baja. La combinación de uso de cuota de conexión y carga del servidor proporciona una indicación de la carga general del sistema. Se aplican las directrices siguientes.

  • Escale horizontalmente si el recuento de conexiones supera el 80-90 %. El escalado horizontal antes de agotar el recuento de conexiones garantiza que tendrá suficiente búfer para aceptar nuevas conexiones antes de que el escalado horizontal surta efecto.
  • Escale horizontalmente si la carga del servidor supera el 80-90 %. El escalado anticipado garantiza que el servicio tiene suficiente capacidad para mantener el rendimiento durante la operación de escalabilidad horizontal.

La operación de escalado automático normalmente surte efecto de 3 a 5 minutos después de que se desencadene. Es importante no cambiar las unidades con demasiada frecuencia. Una buena regla general es dejar pasar 30 minutos desde el escalado automático anterior antes de realizar otra operación de escalabilidad automática. En algunos casos, es posible que tenga que experimentar para encontrar el intervalo óptimo de escalabilidad automática.

Administración de la escalabilidad automática personalizada

Abra la página de configuración de la escalabilidad automática:

  1. Vaya a Azure Portal.

  2. Abra la página SignalR Service.

  3. En el menú de la izquierda, en Configuración elija Escalar horizontalmente.

  4. Seleccione la pestaña Configurar. Si tiene una instancia de SignalR de nivel Premium, verá dos opciones para elegir cómo escalar el recurso:

    • Escalabilidad manual, que permite cambiar manualmente el número de unidades.
    • Escalabilidad automática personalizada, que permite crear condiciones de escalabilidad automática basadas en métricas o una programación temporal.
  5. Seleccione Escalabilidad automática personalizada. Use esta página para administrar las condiciones de escalabilidad automática del servicio Azure SignalR.

Condición de escalado predeterminada

Al abrir la configuración de escalabilidad automática personalizada por primera vez, verá que la condición de escalado predeterminada ya se ha creado automáticamente. Esta condición de escalado se ejecuta cuando ninguna de las otras condiciones de escalado coincide con los criterios establecidos para ellas. No puede eliminar la condición predeterminada, pero puede cambiar su nombre, cambiar las reglas y cambiar la acción realizada por la escalabilidad automática.

No se puede establecer la condición predeterminada para la escalabilidad automática en un día o intervalo de fechas específico. La condición predeterminada solo admite el escalado a un intervalo de unidades. Para escalar según una programación, deberá agregar una nueva condición de escalado.

La escalabilidad automática no surte efecto hasta que guarde la condición predeterminada por primera vez después de seleccionar Escalabilidad automática personalizada.

Adición o cambio de una condición de escalado

Hay dos opciones para escalar el recurso de Azure SignalR:

  • Escalado basado en una métrica: escale dentro de los límites de unidad en función de una métrica dinámica. Se definen una o varias reglas de escalado para establecer los criterios utilizados para evaluar la métrica.
  • Escalado a unidades específicas: escale a un número específico de unidades en función de un intervalo de fechas o una programación periódica.

Escalado basado en una métrica

En el procedimiento siguiente se muestra cómo agregar una condición para aumentar las unidades (escalado horizontal) cuando el uso de cuota de conexión es superior al 70 % y reducirlas (reducción horizontal) cuando el uso de cuota de conexión es inferior al 20 %. Los incrementos o reducciones se realizan entre las unidades disponibles.

  1. En la página Escalar horizontalmente, seleccione Custom autoscale (Escalabilidad automática personalizada) para la opción Elija cómo aumentar los recursos.

  2. Seleccione Escalado basado en una métrica, para Modo de escala.

  3. Seleccione +Agregar una regla. Captura de pantalla de una regla personalizada basada en una métrica.

  4. En la página Escalar regla, siga estos pasos:

    1. Seleccione una métrica de la lista desplegable Nombre de métrica. En este ejemplo, es Connection Quota Utilization (Uso de cuota de conexión).
    2. Seleccione un operador y los valores de umbral. En este ejemplo, son Mayor que y 70 para Umbral de la métrica para desencadenar la acción de escalado.
    3. Seleccione una operación en la sección Acción. En este ejemplo, se ha establecido en Aumentar.
    4. Luego, seleccione AgregarCaptura de pantalla de la regla de escalabilidad automática predeterminada..
  5. Seleccione + Agregar una regla y siga estos pasos en la página Escalar regla:

    1. Seleccione una métrica de la lista desplegable Nombre de métrica. En este ejemplo, es Connection Quota Utilization (Uso de cuota de conexión).
    2. Seleccione un operador y los valores de umbral. En este ejemplo, son Menor que y 20 para Umbral de la métrica para desencadenar la acción de escalado.
    3. Seleccione una operación en la sección Acción. En este ejemplo, se ha establecido en Disminuir.
    4. Luego, seleccione AgregarCaptura de pantalla de la regla de escalado de uso de cuota de conexión..
  6. Establezca el número mínimo, máximo y predeterminado de unidades.

  7. Seleccione Guardar en la barra de herramientas para guardar la configuración de escalado automático.

Escalado a unidades específicas

Siga estos pasos para configurar la regla para escalar a un intervalo específico.

  1. En la página Escalar horizontalmente, seleccione Custom autoscale (Escalabilidad automática personalizada) para la opción Elija cómo aumentar los recursos.
  2. Seleccione Escalar a unidades específicas para Modo de escala.
  3. En Unidades, seleccione el número de unidades predeterminadas. Captura de pantalla de los criterios de la regla de escalado.

Adición de más condiciones

En la sección anterior se mostró cómo agregar una condición predeterminada a la configuración de escalabilidad automática. En esta sección se muestra cómo agregar más condiciones a la configuración de escalado automático.

  1. En la página Escalar horizontalmente, seleccione Custom autoscale (Escalabilidad automática personalizada) para la opción Elija cómo aumentar los recursos.
  2. Seleccione Agregar una condición de escala en el bloque Valor predeterminado. Captura de la pantalla de la regla de escalado personalizada.
  3. Confirme que la opción Escalado basado en una métrica está seleccionada.
  4. Seleccione + Add a rule (+ Agregar una regla) para agregar una regla de aumento de las unidades cuando Connection Quota Utilization (Uso de cuota de conexión)sea mayor que el 70 %. Siga los pasos de la sección sobre la condición predeterminada.
  5. Establezca el número mínimo, máximo y predeterminado de unidades.
  6. También puede establecer una programación en una condición personalizada (pero no en la condición predeterminada). Puede especificar las fechas de inicio y finalización de la condición, o seleccionar días específicos (lunes, martes, etc.) de una semana.
    1. Si selecciona Especifique las fechas de inicio y finalización, seleccione la Zona horaria, la Fecha y hora de inicio y la Fecha y hora de finalización (como se muestra en la siguiente imagen) para que la condición esté en vigor.
    2. Si selecciona Repetir en días específicos, seleccione los días de la semana, la zona horaria, la hora de inicio y la hora de finalización en que debe aplicarse la condición.

Pasos siguientes

Para más información sobre cómo administrar la escalabilidad automática desde la CLI de Azure, consulte az monitor autoscale.