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:
Se recomienda usar el módulo de PowerShell de Azure Az para interactuar con Azure. Para comenzar, consulte Instalación de Azure PowerShell. Para obtener información sobre cómo migrar al módulo Az PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.
Puede escalar las aplicaciones de Azure App Service mediante el escalado del plan de App Service en el que se ejecutan. Por defecto, la propiedad perSiteScaling del plan es false, y cada aplicación y ranura de implementación utiliza todas las instancias disponibles del plan.
Cuando perSiteScaling es true, cada aplicación y espacio de despliegue puede tener su propio siteConfig.numberOfWorkers límite. Por ejemplo, un plan puede tener una capacidad configurada de 10 trabajadores mientras que una aplicación tiene un límite configurado de cinco trabajadores. Cada ranura de despliegue tiene su propio límite; configurar la aplicación de producción no configura también sus ranuras.
Nota:
- El escalado por aplicación solo está disponible para los planes de tarifa Estándar, Premium, Premium V2, Premium V3 y Aislado .
- Un límite por aplicación no reduce la capacidad dedicada configurada para el plan de App Service ni su facturación por sí sola.
Mantén estos valores distintos:
-
Capacidad configurada del plan: El valor de
sku.capacitydel plan. -
Límite de aplicación o de trabajadores de slot configurados: El valor del
siteConfig.numberOfWorkersrecurso. - Instancias de aplicaciones activas observadas: Una observación puntual del tiempo de ejecución. El número real no puede superar el número de trabajadores disponibles del plan. La integración gradual del plan puede reducir este recuento por debajo del límite configurado de aplicaciones o franjas.
La plataforma coloca una aplicación en distintos empleados disponibles mediante un enfoque de mejor esfuerzo. El posicionamiento es independiente de la métrica.
| Scenario | Semántica de valores |
|---|---|
Límite de 1 |
La app o la franja pueden usar como máximo un trabajador disponible del plan. Elige este valor solo cuando la asignación de un solo trabajador sea aceptable para la carga de trabajo. |
Límite mayor que 1 |
El valor limita cuántos trabajadores distintos del plan puede usar la aplicación o la ranura de implementación. Las instancias activas reales pueden ser menos. |
| Límite superior a la capacidad disponible del plan | Las instancias de trabajo disponibles del plan determinan el límite real de las instancias de la aplicación o de la ranura. |
| Planificar la reducción de escala | La aplicación o franja puede ejecutarse con menos trabajadores de los que ha sido configurado una vez que se eliminan los trabajadores del plan. |
El escalado por aplicación se basa en una asignación fija, independiente de las métricas, dentro de los trabajadores disponibles del plan. No responde a la demanda ni cambia la capacidad del plan. Para cambiar la capacidad según la demanda, utiliza escalado automático o Azure Monitor autoescalado.
Importante
La redundancia por zonas distribuye instancias del plan de servicios de aplicaciones; no crea réplicas ocultas de apps. Con el escalado por aplicación, un límite de aplicación o de ranura de 1 permite la implementación en como máximo una instancia del plan y no debe tratarse como una réplica simultánea entre zonas. Límites de 2 o superiores permiten la ubicación en varios procesos de trabajo distintos del plan, pero no ofrecen una garantía pública de que esas instancias de la aplicación se distribuyan entre varias zonas físicas. Para orientación sobre diseño de fiabilidad, véase Fiabilidad en Servicios de Aplicaciones.
Modelo de propiedad y requisitos previos
Utiliza un nivel de precios soportado, una cuenta que pueda actualizar el plan, la app y la franja, y la versión actual de la herramienta que elijas. Los ejemplos utilizan CLI de Azure 2.89.1 y Az PowerShell 16.2.0.
| Ámbito | Propiedad de recurso | Ejemplo |
|---|---|---|
| Función de plan | properties.perSiteScaling |
true |
| Planeamiento de la capacidad | sku.capacity |
10 |
| Límite deseado por la app | properties.siteConfig.numberOfWorkers |
5 |
| Límite deseado de ranura | properties.siteConfig.numberOfWorkers |
2 |
| Configuración de la app o ranura GET respuesta | properties.numberOfWorkers |
5 o 2 |
En CLI de Azure, las opciones con nombres similares tienen alcances distintos: az appservice plan ... --number-of-workers establece la capacidad del plan, mientras que az webapp config set ... --number-of-workers establece el límite de la aplicación o de la ranura.
Configurar el escalado por aplicación
Usa la pestaña de tu herramienta preferida. Sustituye los nombres y ubicaciones provisionales antes de ejecutar un comando o desplegar una plantilla.
- CLI de Azure
- Azure PowerShell
- Bicep
- plantilla ARM
- REST
Elige entre el paso de creación o el de actualización para el plan. El paso de actualización solo cambia perSiteScaling; no cambia la capacidad del plan existente.
resourceGroup='<resource-group-name>'
planName='<app-service-plan-name>'
appName='<app-name>'
slotName='staging'
location='westus3'
# Create a plan with capacity 10 and per-app scaling.
az appservice plan create \
--resource-group $resourceGroup \
--name $planName \
--location $location \
--sku P1V3 \
--number-of-workers 10 \
--per-site-scaling
# Or enable per-app scaling on an existing plan without changing its capacity.
az appservice plan update \
--resource-group $resourceGroup \
--name $planName \
--set properties.perSiteScaling=true
# Configure the production app and its staging slot independently.
az webapp config set \
--resource-group $resourceGroup \
--name $appName \
--number-of-workers 5
az webapp config set \
--resource-group $resourceGroup \
--name $appName \
--slot $slotName \
--number-of-workers 2
Aquí, el plan --number-of-workers 10 es la capacidad. La opción de configuración de la aplicación web con el mismo nombre corresponde al límite deseado de aplicaciones o ranuras. Inspecciona los valores configurados:
az appservice plan show \
--resource-group $resourceGroup \
--name $planName \
--query "{planCapacity:sku.capacity, perSiteScaling:perSiteScaling}"
az webapp config show \
--resource-group $resourceGroup \
--name $appName \
--query "{appWorkerLimit:numberOfWorkers}"
az webapp config show \
--resource-group $resourceGroup \
--name $appName \
--slot $slotName \
--query "{slotWorkerLimit:numberOfWorkers}"
Para obtener más información sobre los comandos, consulta az appservice plan y az webapp config.
Comprobación de la configuración
Comprueba cada valor configurado tras un cambio o despliegue.
| Value | Ejemplo esperado | Dónde comprobar |
|---|---|---|
| Función de plan | true |
Respuesta del plan properties.perSiteScaling |
| Planeamiento de la capacidad | 10 |
Respuesta del plan sku.capacity |
| Límite deseado de la aplicación de producción | 5 |
Respuesta de producción config/webproperties.numberOfWorkers |
| Límite deseado del slot de preproducción | 2 |
Respuesta de ranura config/webproperties.numberOfWorkers |
Estos valores son configuración, no conteos de instancias activas observadas. La asignación en tiempo de ejecución se realiza en la medida de lo posible y está limitada por los recursos de trabajo disponibles del plan. Antes de combinar el escalado por aplicación con la redundancia de zona, consulta la capacidad del plan y el límite de cada aplicación o ranura en Configurar la redundancia de zona para un plan de App Service existente.
Configura alojamiento de alta densidad para tu escenario
La escalada por aplicación está disponible tanto en regiones globales de Azure como en entornos de servicios de aplicaciones. Elige límites de aplicaciones y espacios según la capacidad de carga y los requisitos de fiabilidad, en lugar de aplicar un límite a cada carga de trabajo.
Para un escenario de alojamiento de alta densidad:
Designe un plan de App Service como plan de alta densidad y escálelo horizontalmente a la capacidad deseada.
Establezca la marca
PerSiteScalingen true en el plan de App Service.Establece el límite de
numberOfWorkersde cada aplicación y ranura de despliegue según sus necesidades.- Un límite de
1proporciona la mayor densidad, pero úselo solo para cargas de trabajo en las que sea aceptable la asignación a como máximo una instancia de trabajo del plan. - Utilice un límite de
2o más cuando la carga de trabajo debería ser elegible para ser asignada a varios trabajadores distintos del plan, sujeto a la capacidad disponible del plan.
- Un límite de
Revisa los límites de forma independiente a medida que cambien los requisitos de carga de trabajo. Por ejemplo, una app de mayor uso puede usar un límite de
3para mayor capacidad de procesamiento, mientras que otra app puede usarse1cuando es apropiado que se coloque a un solo trabajador.