Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
El escalado automático está disponible para todos los tipos de aplicaciones: Windows y Linux (implementar como código y contenedor). El escalado automático no se admite para el tráfico de ranuras de implementación.
El escalado automático es una opción de escalado horizontal que controla automáticamente las decisiones de escalado de las aplicaciones web y los planes de App Service. Es diferente del escalado automático de Azure, que permite definir reglas de escalado en función de programaciones y recursos.
Con el escalado automático, es posible ajustar la configuración de escalado para mejorar el rendimiento de la aplicación y evitar problemas de arranque en frío. La plataforma precalienta las instancias para que actúen como un búfer al escalar horizontalmente, lo que garantizará transiciones de rendimiento fluidas. Se le cobrará por segundo por cada instancia, incluidas las instancias activadas previamente.
En la tabla siguiente se comparan las opciones de escalabilidad horizontal y escalabilidad vertical disponibles en App Service.
Manual | Escalado automático | Escalado automático | |
---|---|---|---|
Planes de tarifa disponibles | Básico y superior | Estándar y superior | Planes de tarifa Premium V2 (P1V2, P2V2 y P3V2). Planes de tarifa Premium V3 (P0V3, P1V3, P2V3, P3V3, P1MV3, P2MV3, P3MV3, P4MV3 y P5MV3). |
Escalado basado en reglas | No | Sí | No, la plataforma administra el escalado horizontal y el escalado horizontal en función del tráfico HTTP. |
Escalado basado en horarios | No | Sí | No |
Instancias siempre preparadas | No, la aplicación web se ejecuta en el número de instancias escaladas manualmente. | No, la aplicación web se ejecuta en otras instancias disponibles durante la operación de escalabilidad horizontal, en función del umbral definido para las reglas de escalabilidad automática. | Sí (mínimo 1) |
Instancias activadas previamente | No | No | Sí (valor predeterminado 1) |
Máximo por aplicación | No | No | Sí |
Cómo funciona el escalado automático
Habilite el escalado automático para un plan de App Service y configure un rango de instancias para cada una de las aplicaciones web. A medida que la aplicación web comience a recibir tráfico HTTP, App Service supervisará la carga y agregará instancias. Es posible que los recursos se compartan cuando se requieran simultáneamente escalar varias aplicaciones web dentro de un plan de App Service.
Estos son algunos escenarios en los que debe realizar el escalado horizontal automáticamente:
- No se recomienda configurar reglas de escalabilidad automática basadas en métricas de recursos.
- Quiere que las aplicaciones web dentro del mismo plan de App Service se escalen de forma diferente e independiente entre sí.
- La aplicación web está conectada a una base de datos o a un sistema heredado, lo que podría no escalar tan rápido como la aplicación web. El escalado permite establecer automáticamente el número máximo de instancias a las que puede escalar el plan de App Service. Esta configuración ayuda a la aplicación web a no sobrecargar el back-end.
Habilitación del escalado automático
La configuración de ráfaga máxima representa el número más alto de instancias a las que puede aumentar el plan de App Service en función de las solicitudes HTTP entrantes. En el caso de los planes Premium v2 y v3, puede especificar hasta 30 instancias. El número máximo de ráfagas debe ser igual o mayor que el número de trabajos especificados para el plan de App Service.
Para habilitar el escalado automático, vaya al menú de la izquierda de la aplicación web. En Configuración, seleccione Escalado horizontal (plan de App Service). Seleccione Automático, actualice el valor de Ráfaga máxima y seleccione el botón Guardar.
Establecimiento del número mínimo de instancias de aplicación web
La configuración de nivel de aplicación Always ready instances especifica el número mínimo de instancias. Si la carga supera el número mínimo establecido en instancias siempre preparadas, se agregan instancias adicionales hasta el valor de ráfaga máximo especificado para el plan de App Service.
Para establecer el número mínimo de instancias de la aplicación web, vaya al menú de la izquierda de la aplicación web y seleccione Escalado horizontal (plan de App Service). Actualice el valor Instancias siempre listas y seleccione el botón Guardar.
Establecimiento del número máximo de instancias de aplicación web
El valor límite de escala máximo establece el número máximo de instancias a las que una aplicación web puede escalar. El límite de escala máximo es útil cuando un componente de nivel inferior, como una base de datos, tiene un rendimiento limitado. El máximo por aplicación puede estar entre 1 y el valor máximo de ráfaga.
Para establecer el número máximo de instancias de la aplicación web, vaya al menú de la izquierda de la aplicación web y seleccione Escalado horizontal (plan de App Service). Seleccione Aplicar límite de escalabilidad horizontal, actualice el valor de Límite de escalado máximo y seleccione el botón Guardar.
Actualización de instancias precalentadas
La configuración de instancias precalentadas proporciona instancias calentadas como búfer durante los eventos de escalado y activación HTTP. Las instancias activadas previamente siguen almacenándose en el búfer hasta que se alcanza el límite máximo de escalabilidad horizontal. El recuento predeterminado de instancias preactivadas es 1 y, en la mayoría de los escenarios, este valor debe permanecer en 1.
No puede cambiar la configuración de las instancias activadas previamente en el portal; en su lugar. En su lugar, debe usar la CLI de Azure.
Deshabilitación del escalado automático
Para deshabilitar el escalado automático, vaya al menú de la izquierda de la aplicación web y seleccione Escalado horizontal (plan de App Service). Seleccione Manual y seleccione el botón Guardar .
Preguntas más frecuentes
¿Admite el escalado automático las aplicaciones de Azure Functions?
No, solo puede tener aplicaciones web de Azure App Service en el plan de App Service en el que desea habilitar el escalado automático. En el caso de las aplicaciones de Azure Functions, se recomienda usar el plan Azure Functions Premium en su lugar.
Precaución
El escalado automático se deshabilita cuando las aplicaciones web de App Service y las aplicaciones de Azure Functions están en el mismo plan de App Service.
¿Cómo funciona el escalado automático en segundo plano?
Las aplicaciones establecidas en escalado automático se supervisan continuamente, con evaluaciones del estado del trabajo que se producen al menos una vez cada pocos segundos. Si el sistema detecta una mayor carga en la aplicación, las comprobaciones de estado se vuelven más frecuentes. Si el estado del trabajo se deteriora y las solicitudes se ralentizan, se solicitan otras instancias. La velocidad a la que se agregan las instancias varía en función del patrón de carga y el tiempo de arranque de la aplicación individual. Las aplicaciones con breves tiempos de inicio y ráfagas intermitentes de carga pueden ver que una máquina virtual se agrega cada pocos segundos a un minuto.
Una vez que la carga se reduzca, la plataforma inicia una revisión para una posible reducción horizontal. Este proceso normalmente comienza aproximadamente entre 5 y 10 minutos después de que la carga deje de aumentar. Durante la reducción horizontal, las instancias se quitan a una velocidad máxima de entre una cada pocos segundos y un minuto.
Si se implementan varias aplicaciones web dentro del mismo plan de App Service, la plataforma intenta asignar recursos entre instancias disponibles. Esta asignación se basa en la carga de cada aplicación web individual.
¿Cómo se facturan las instancias activadas previamente?
Para saber cómo se facturan las instancias activadas previamente, piense en este escenario: Supongamos que la aplicación web tiene cinco instancias que están siempre listas, junto con una instancia activada previamente establecida como predeterminada.
Cuando la aplicación web está inactiva y no recibe solicitudes HTTP, se ejecuta con las cinco instancias siempre listas. Durante este tiempo, no se le facturan las instancias activadas previamente porque no se usan las instancias siempre preparadas y, por tanto, no se asigna ninguna instancia activada previamente.
Sin embargo, en cuanto la aplicación web empiece a recibir solicitudes HTTP y las cinco instancias siempre preparadas se activen, se asigna una instancia activada previamente. La facturación comienza en este momento.
Si la tasa de solicitudes HTTP sigue aumentando y App Service decide escalar más allá de las cinco instancias iniciales, comienza a usar la instancia prewarmed. Esto significa que, cuando hay seis instancias activas, se aprovisiona inmediatamente una séptima para rellenar el búfer activado previamente.
Este proceso de escalado y activación previa continúa hasta que se alcanza el recuento de instancias máximo de la aplicación. Es importante tener en cuenta que ninguna instancia está activada previamente ni se activa más allá del número máximo de instancias.
¿Por qué tiene AppServiceHTTPLogs
entradas de registro similares a /admin/host/ping
con un estado 404?
El escalado automático de App Service comprueba periódicamente el punto de conexión /admin/host/ping
junto con otros mecanismos de comprobación de estado inherentes a la plataforma. En ocasiones, debido a las configuraciones de plataforma existentes, estos pings pueden devolver errores 404. Sin embargo, es importante tener en cuenta que estos errores 404 no deben afectar a la disponibilidad ni al rendimiento del escalado de la aplicación.
Si la aplicación web devuelve un estado 5xx, estos pings de punto de conexión pueden dar lugar a reinicios intermitentes, aunque este escenario es poco frecuente. Asegúrese de que la aplicación web no devuelve un estado 5xx en este punto de conexión. Estos puntos de conexión de ping no se pueden personalizar.
¿Cómo se realiza un seguimiento del número de instancias escaladas horizontalmente durante el evento escalado automático?
La AutomaticScalingInstanceCount
métrica informa del número de máquinas virtuales en las que se ejecuta la aplicación, incluida la instancia preprocesada si se implementa. Esta métrica también se puede usar para hacer un seguimiento del número máximo de instancias que una aplicación web ha escalado horizontalmente durante un evento escalado automático. Esta métrica solo está disponible para las aplicaciones que tienen habilitado el escalado automático .
¿Cómo afecta la afinidad de ARR al escalado automático?
Azure App Service usa las cookies de Enrutamiento de solicitud de aplicaciones conocidas como Afinidad de ARR. Las cookies de Afinidad de ARR restringen el escalado, ya que envían solicitudes solo a los servidores asociados a la cookie, en lugar de a cualquier instancia disponible. En las aplicaciones que almacenan el estado, es mejor escalar verticalmente (aumentar el número de recursos que hay en una sola instancia). En las aplicaciones sin estado, el escalado horizontal (agregar más instancias) ofrece más opciones de flexibilidad y escalabilidad. Las cookies de Afinidad de ARR están habilitadas de forma predeterminada en App Service. En función de las necesidades de la aplicación, puede optar por deshabilitar las cookies de afinidad de ARR al usar el escalado automático.
Para deshabilitar las cookies de afinidad ARR: seleccione la aplicación de App Service y, en Configuración, seleccione Configuración. A continuación, seleccione la pestaña Configuración general . En Afinidad de sesión, seleccione Desactivado y, a continuación, seleccione el botón Guardar .