Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
Recomendamos que utilize o módulo Azure Az PowerShell para interagir com o Azure. Para começar, veja Install Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, veja Migrate Azure PowerShell from AzureRM to 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 predefinição, a propriedade do plano ao nível de perSiteScaling é false, e cada aplicação e slot de implementação utiliza todas as instâncias disponíveis no plano.
Quando perSiteScaling é true, cada aplicação e slot de implementação pode ter o seu próprio siteConfig.numberOfWorkers limite. Por exemplo, um plano pode ter uma capacidade configurada de 10 trabalhadores, enquanto uma aplicação tem um limite configurado de cinco trabalhadores. Cada slot de implementação tem o seu próprio limite; a configuração da aplicação de produção não configura automaticamente os respetivos slots.
Observação
- O dimensionamento por aplicativo está disponível apenas para os níveis de preços Standard, Premium, Premium V2, Premium V3 e Isolado .
- Um limite por aplicação não reduz a capacidade dedicada configurada para o plano de App Service nem a sua faturação por si só.
Mantenha estes valores distintos:
-
Capacidade configurada do plano: O valor do
sku.capacityplano. -
Limite de trabalhadores configurados para aplicação ou slot: O valor do
siteConfig.numberOfWorkersrecurso. - Instâncias ativas de aplicações observadas: Uma observação em tempo de execução num determinado momento. A contagem real não pode exceder o número de trabalhadores disponíveis no plano. O escalonamento do plano pode reduzir esta contagem abaixo do limite configurado de aplicação ou slot.
A plataforma coloca uma aplicação em distintos trabalhadores de planos disponíveis, utilizando uma abordagem de melhor esforço. O posicionamento não depende da métrica.
| Scenario | Semântica de valores |
|---|---|
Limite de 1 |
A aplicação ou slot pode usar no máximo um trabalhador de plano disponível. Escolha este valor apenas quando a colocação de um único trabalhador for aceitável para a carga de trabalho. |
Limite superior a 1 |
O valor limita o número de trabalhadores distintos do plano que a aplicação ou slot pode usar. O número real de instâncias ativas pode ser inferior. |
| Limite acima da capacidade disponível do plano | Os workers do plano disponível impõem um limite ao número efetivo de instâncias da aplicação ou dos slots de implementação. |
| Escalonamento do plano | A aplicação ou slot pode funcionar com menos trabalhadores do que o seu limite configurado depois de os trabalhadores do plano serem removidos. |
A escalabilidade por aplicação é uma colocação fixa e independente de métricas dentro dos trabalhadores disponíveis do plano. Não acompanha a procura nem altera a capacidade do plano. Para alterar a capacidade consoante a procura, use escalabilidade automática ou Azure Monitor autoscale.
Importante
A redundância por zona distribui as instâncias do plano do App Service; não cria réplicas ocultas de apps. Com a escalabilidade por aplicação, um limite por aplicação ou por slot de 1 permite a colocação em, no máximo, uma única instância do plano e não deve ser tratado como uma réplica simultânea entre zonas. Limites de 2 ou superiores permitem a distribuição por vários workeres distintos do plano, mas não oferecem uma garantia pública de que essas instâncias da aplicação se distribuam por zonas físicas. Para orientações sobre design de fiabilidade, consulte Fiabilidade em Serviços de Aplicações.
Modelo de propriedade e pré-requisitos
Utilize um escalão de preço suportado, uma conta que possa atualizar o plano, a aplicação e o slot, e a versão atual da ferramenta que escolheu. Os exemplos usam o CLI do Azure 2.89.1 e o Az PowerShell 16.2.0.
| Scope | Propriedade do recurso | Exemplo |
|---|---|---|
| Funcionalidade do plano | properties.perSiteScaling |
true |
| Planeamento de capacidade | sku.capacity |
10 |
| Limite desejado pela aplicação | properties.siteConfig.numberOfWorkers |
5 |
| Limite desejado de slots | properties.siteConfig.numberOfWorkers |
2 |
| Resposta GET da configuração da aplicação ou do slot | properties.numberOfWorkers |
5 ou 2 |
No CLI do Azure, opções com nomes semelhantes têm diferentes âmbitos: az appservice plan ... --number-of-workers define a capacidade do plano, enquanto az webapp config set ... --number-of-workers define a aplicação ou o limite de slots.
Configurar escalabilidade por aplicação
Utiliza o separador da ferramenta que preferires. Substitua os nomes temporários e as localizações antes de executar um comando ou implementar um modelo.
Escolha entre a etapa de criar ou a etapa de atualização para o plano. O passo de atualização altera 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 corresponde à capacidade. A opção de configuração da aplicação web com o mesmo nome é a aplicação desejada ou limite de slots. Inspecionar 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 sobre os comandos, consulte az appservice plan e az webapp config.
Verifique a configuração
Verifique cada valor configurado após uma alteração ou implementação.
| Valor | Exemplo esperado | Onde verificar |
|---|---|---|
| Funcionalidade do plano | true |
Resposta do plano properties.perSiteScaling |
| Planeamento de capacidade | 10 |
Resposta do plano sku.capacity |
| Limite desejado da aplicação de produção | 5 |
Produção config/web resposta properties.numberOfWorkers |
| Limite desejado do slot de estágio | 2 |
Resposta do slot config/webproperties.numberOfWorkers |
Estes valores são configuração, não contagens de instâncias ativas observadas. A colocação em tempo de execução continua a ser o melhor esforço e é limitada pelos trabalhadores disponíveis do plano. Antes de combinar escalabilidade por aplicação com redundância de zona, reveja a capacidade do plano e cada limite de aplicação ou slot em Definir redundância de zona para um plano de App Service existente.
Configure alojamento de alta densidade para o seu cenário
A escalabilidade por aplicação está disponível tanto em regiões globais do Azure como em Ambientes de Serviços de Aplicação. Escolha os limites da aplicação e do slot de acordo com a capacidade e os requisitos de fiabilidade de cada carga de trabalho, em vez de aplicar um único limite a todas as cargas de trabalho.
Para um cenário de alojamento de alta densidade:
Designe um plano do Serviço de Aplicações como o plano de alta densidade e expanda-o para a capacidade desejada.
Defina o flag
PerSiteScalingcomo verdadeiro no plano App Service.Defina o limite de cada aplicação e de cada ranhura de implementação
numberOfWorkerscom base nas suas necessidades.- Um limite de
1proporciona a maior densidade, mas utilize-o apenas para cargas de trabalho onde a colocação em no máximo um trabalhador do plano é aceitável. - Utilize um limite de
2ou superior quando a carga de trabalho deva ser elegível para alocação em vários trabalhadores de plano distintos, em função da capacidade disponível do plano.
- Um limite de
Revê os limites de forma independente à medida que os requisitos de carga de trabalho mudam. Por exemplo, uma aplicação de maior utilização pode usar um limite de
3para maior capacidade de processamento, enquanto outra aplicação pode usar1quando a colocação de um único trabalhador é apropriada.
Conteúdo relacionado
- Quais são os planos do Serviço de Aplicativo do Azure?
- Configurar escalabilidade automática
- Configurar redundância de zonas
- 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