Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
Recomendamos que você use o módulo do Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
Você pode dimensionar seus aplicativos do Serviço de Aplicativo do Azure dimensionando o plano do Serviço de Aplicativo em que eles são executados. Por padrão, a propriedade perSiteScaling no nível do plano é false, e cada aplicação e slot de implantação usa todas as instâncias disponíveis do plano.
Quando perSiteScaling é true, cada aplicativo e slot de implantação pode ter seu próprio siteConfig.numberOfWorkers limite. Por exemplo, um plano pode ter uma capacidade configurada de 10 trabalhadores, enquanto um aplicativo tem um limite configurado de cinco trabalhadores. Cada slot de implantação tem seu próprio limite; configurar o aplicativo de produção não configura automaticamente seus slots.
Observação
- O dimensionamento por aplicativo está disponível apenas para os tipos de preço Standard, Premium, Premium V2, Premium V3 e Isolado .
- Um limite por aplicativo não reduz a capacidade dedicada configurada para o plano de App Service nem sua faturação por si só.
Mantenha esses valores distintos:
-
Capacidade configurada do plano: O valor de
sku.capacitydo plano. -
Limite configurado de trabalhador do aplicativo ou do slot: O valor do recurso
siteConfig.numberOfWorkers. - Instâncias ativas de aplicativos observadas: Uma observação em tempo de execução em um determinado momento. A contagem real não pode exceder o número de trabalhadores disponíveis do plano. A integração gradual do plano pode reduzir essa contagem abaixo do limite configurado de aplicativos ou slots.
A plataforma coloca um aplicativo em diferentes funcionários disponíveis do plano utilizando uma abordagem de melhor esforço. O posicionamento é independente da métrica.
| Scenario | Semântica de valor |
|---|---|
Limite de 1 |
O aplicativo ou slot pode usar no máximo um funcionário disponível do plano. Escolha esse valor apenas quando a colocação de um único trabalhador for aceitável para a carga de trabalho. |
Limite maior que 1 |
O valor limita quantos trabalhadores distintos do plano o aplicativo ou o slot pode usar. O número real de instâncias ativas pode ser menor. |
| Limite acima da capacidade disponível do plano | Os workers disponíveis no plano limitam as instâncias reais do aplicativo ou do slot. |
| Planejar redução de escala | O aplicativo ou slot pode rodar com menos trabalhadores do que o limite configurado após a remoção dos trabalhadores do plano. |
A escalabilidade por aplicativo é uma colocação fixa e independente de métricas dentro dos trabalhadores disponíveis do plano. Não responde à demanda nem altera a capacidade do plano. Para alterar a capacidade conforme a demanda, use escalabilidade automática ou Azure Monitor autoscale.
Importante
A redundância de zona distribui instâncias do plano de App Service; não cria réplicas ocultas de aplicativos. Com o dimensionamento por aplicativo, um limite de aplicativo ou de slot de 1 permite a implantação em no máximo uma instância do plano e não deve ser tratado como uma réplica simultânea entre zonas. Limites de 2 ou mais permitem a implantação em vários workers distintos do plano, mas não oferecem uma garantia pública de que essas instâncias de aplicativo estejam distribuídas por zonas físicas. Para orientações sobre design de confiabilidade, veja Confiabilidade em Serviços de Aplicativos.
Modelo de propriedade e pré-requisitos
Use um escalão de preços suportado, uma conta que possa atualizar o plano, o app, o slot e a versão atual da ferramenta escolhida. Os exemplos usam CLI do Azure 2.89.1 e Az PowerShell 16.2.0.
| Scope | Propriedade do recurso | Exemplo |
|---|---|---|
| Recurso de planejamento | properties.perSiteScaling |
true |
| Planejar capacidade | sku.capacity |
10 |
| Limite desejado pelo aplicativo | properties.siteConfig.numberOfWorkers |
5 |
| Limite desejado do slot | properties.siteConfig.numberOfWorkers |
2 |
| Resposta GET da configuração do aplicativo ou do slot | properties.numberOfWorkers |
5 ou 2 |
No CLI do Azure, opções com nomes semelhantes têm escopos diferentes: az appservice plan ... --number-of-workers define a capacidade do plano, enquanto az webapp config set ... --number-of-workers define o app ou limite de slots.
Configurar escalonamento por aplicativo
Use a aba da sua ferramenta preferida. Substitua nomes e locais provisórios antes de executar um comando ou implantar um template.
Escolha entre a etapa de criar ou a etapa de atualização para o plano. A etapa de atualização muda apenas perSiteScaling; não altera a capacidade do plano 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
Aqui, o plano --number-of-workers 10 é baseado na capacidade. A opção de configuração do aplicativo web com o mesmo nome é o limite desejado de aplicativos ou slots. Inspecione os 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 obter detalhes do comando, consulte az appservice plan e az webapp config.
Verificar a configuração
Verifique cada valor configurado após uma alteração ou implantação.
| Valor | Exemplo esperado | Onde verificar |
|---|---|---|
| Recurso de planejamento | true |
Resposta do plano properties.perSiteScaling |
| Planejar capacidade | 10 |
Resposta do plano sku.capacity |
| Limite desejado do aplicativo de produção | 5 |
Resposta de produção config/webproperties.numberOfWorkers |
| Limite desejado para o slot de staging | 2 |
Resposta do slot config/webproperties.numberOfWorkers |
Esses valores são configuração, não contagens de instâncias ativas observadas. A alocação em tempo de execução permanece sujeita ao critério de melhor esforço e é limitada pelos workers disponíveis do plano. Antes de combinar escalonamento por aplicativo com redundância de zona, revise a capacidade do plano e cada limite de app ou slot em Definir redundância de zona para um plano de App Service existente.
Configure hospedagem de alta densidade para seu cenário
A escalabilidade por aplicativo está disponível tanto em regiões globais do Azure quanto em ambientes de App Service. Escolha limites de aplicativos e espaços de acordo com a capacidade de carga e requisitos de confiabilidade, em vez de aplicar um limite a cada carga de trabalho.
Para um cenário de hospedagem de alta densidade:
Designe um Plano do Serviço de Aplicativo como o plano de alta densidade e dimensione-o para a capacidade desejada.
Defina o sinalizador
PerSiteScalingcomo verdadeiro no Plano do Serviço de Aplicativo.Defina o limite de
numberOfWorkersde cada aplicativo e de cada slot de implantação com base em suas necessidades.- Um limite de
1fornece a maior densidade, mas use-o apenas para cargas de trabalho onde a colocação em no máximo um trabalhador do plano é aceitável. - Use um limite de
2ou mais quando a carga de trabalho deve ser elegível para colocação em múltiplos trabalhadores distintos do plano, sujeito à capacidade disponível do plano.
- Um limite de
Revise os limites de forma independente conforme os requisitos de carga de trabalho mudam. Por exemplo, um aplicativo de uso mais alto pode usar um limite de
3para maior capacidade de processamento, enquanto outro aplicativo pode usar1quando a colocação de um único trabalhador é apropriada.
Conteúdo relacionado
- O que são os planos do Serviço de Aplicativo do Azure?
- Configurar escalonamento automático
- Configurar redundância de zona
- Confiabilidade no Serviço de Aplicativo
- Visão geral do Ambiente do Serviço de Aplicativo
- Tutorial: Executar um teste de carga para identificar gargalos de desempenho em um aplicativo Web