Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. För att lära dig hur du migrerar till Az PowerShell-modulen, se Migrera Azure PowerShell från AzureRM till Az.
Du kan skala dina Azure App Service-appar genom att skala den App Service-plan som de körs på. Som standard är egenskapen på plannivå falseperSiteScaling, och varje app och distributionsfack använder alla instanser som är tillgängliga i planen.
När perSiteScaling är true, kan varje app och distributionsplats ha sin egen siteConfig.numberOfWorkers gräns. Till exempel kan en plan ha en konfigurerad kapacitet på 10 arbetare medan en app har en konfigurerad gräns på fem arbetare. Varje distributionsplats har sin egen gräns; att konfigurera produktionsappen konfigurerar inte också dess platser.
Anmärkning
- Skalning per app är endast tillgängligt för prisnivåer för Standard, Premium, Premium V2, Premium V3 och Isolerad .
- En gräns per app minskar inte den dedikerade kapaciteten som är konfigurerad för App Service-planen eller dess fakturering i sig.
Håll dessa värden åtskilda:
-
Konfigurerad abonnemangskapacitet: Abonnemangets
sku.capacity-värde. -
Konfigurerad app- eller platsarbetargräns: Resursens
siteConfig.numberOfWorkersvärde. - Observerade aktiva appinstanser: En körningsobservation vid en viss tidpunkt. Det faktiska antalet kan inte överstiga tillgängliga planarbetare. Planskalning kan minska detta antal under den konfigurerade app- eller platsgränsen.
Plattformen placerar en app på olika tillgängliga planarbetare genom att använda en best-effort-metod. Placeringen är metriskt oberoende.
| Scenario | Värdesemantik |
|---|---|
Gräns för 1 |
Appen eller platsen kan använda högst en tillgänglig planarbetare. Välj detta värde endast när placering av en enskild arbetare är acceptabelt för arbetsbelastningen. |
Gräns större än 1 |
Värdet anger ett tak för hur många olika planarbetare appen eller sloten kan använda. Faktiska aktiva instanser kan vara färre. |
| Gräns över tillgänglig plankapacitet | Tillgängliga planarbetare begränsar själva app- eller slotinstanserna. |
| Planera inskalning | Appen eller platsen kan köras på färre arbetare än dess konfigurerade gräns efter att planarbetarna tagits bort. |
Skalning per app är fast, metriskt oberoende placering inom planens tillgängliga arbetstagare. Den anpassar sig inte efter efterfrågan och ändrar inte planens kapacitet. För att ändra kapaciteten utifrån efterfrågan, använd automatisk skalning eller automatisk skalning i Azure Monitor.
Viktigt!
Zonredundans fördelar instanser i App Service-planen; den skapar inte dolda kopior av appen. Vid skalning per app innebär en app- eller platsgräns på 1 att placering medges på högst en planinstans och får inte behandlas som en samtidig replik i flera zoner. Gränser på 2 eller högre medger placering på flera separata arbetare i planen, men ger ingen offentlig garanti för att dessa appinstanser är fördelade över fysiska zoner. För vägledning om tillförlitlighetsdesign, se Reliability in App Service.
Egenskapsmodell och förutsättningar
Använd en stödd prisnivå, ett konto som kan uppdatera planen, appen och sloten, samt den aktuella versionen av ditt valda verktyg. Exemplen använder Azure CLI 2.89.1 och Az PowerShell 16.2.0.
| Scope | Resursegenskap | Exempel |
|---|---|---|
| Planfunktion | properties.perSiteScaling |
true |
| Planera för kapacitet | sku.capacity |
10 |
| Appen önskad gräns | properties.siteConfig.numberOfWorkers |
5 |
| Slots önskade gräns | properties.siteConfig.numberOfWorkers |
2 |
| app- eller distributionsplatskonfigurationens GET-svar | properties.numberOfWorkers |
5 eller 2 |
I Azure CLI har alternativ med liknande namn olika räckvidd: az appservice plan ... --number-of-workers anger kapaciteten för planen, medan az webapp config set ... --number-of-workers anger gränsen för appen eller platsen.
Konfigurera skalning per app
Använd fliken för ditt föredragna verktyg. Byt ut platshållarnamn och platser innan du kör ett kommando eller distribuerar en mall.
Välj antingen skapa-steget eller uppdateringssteget för planen. Uppdateringssteget ändrar bara perSiteScaling; det ändrar inte den befintliga planens kapacitet.
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
Här är planen --number-of-workers 10 kapacitet. Konfigurationsalternativet för webbappen med samma namn är önskad app- eller platsgräns. Inspektera de konfigurerade värdena:
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}"
För kommandodetaljer, se az appservice plan och az webapp config.
Kontrollera konfigurationen
Kontrollera varje konfigurerat värde efter en ändring eller distribution.
| Value | Förväntat exempel | Var man kan verifiera |
|---|---|---|
| Planfunktion | true |
Planerat svar properties.perSiteScaling |
| Planera för kapacitet | 10 |
Planera svar sku.capacity |
| Önskad gräns för produktionsapp | 5 |
Produktionsrespons config/webproperties.numberOfWorkers |
| Önskad gräns för staging-plats | 2 |
Plats config/web svar properties.numberOfWorkers |
Dessa värden är konfigurationsvärden, inte observerade antal aktiva instanser. Runtime-placeringen är fortfarande bästa insats och begränsas av tillgängliga planarbetare. Innan du kombinerar skalning per app med zonredundans, granska plankapaciteten och varje app- eller slotgräns i Sätt zonredundans för en befintlig App Service-plan.
Konfigurera högdensitetshosting för ditt scenario
Skalning per app finns tillgängligt i både globala Azure-regioner och App Service Environments. Välj app- och platsgränser baserat på arbetsbelastningskapacitet och tillförlitlighetskrav istället för att tillämpa en gräns på varje arbetsbelastning.
För ett scenario med hög densitet inom hosting:
Ange en App Service-plan som högdensitetsplan och skala ut den till önskad kapacitet.
Ställ in
PerSiteScaling-flaggan som true på App Service-planen.Sätt gränsen
numberOfWorkersför varje app och distributionsplats baserat på dess behov.- En gräns på
1ger högst densitet, men använd den endast för arbetsbelastningar där placering på högst en planarbetare är acceptabel. - Använd en gräns på
2eller högre när arbetsbelastningen ska kunna placeras på flera olika planarbetsnoder, beroende på tillgänglig kapacitet i planen.
- En gräns på
Granska gränserna oberoende eftersom arbetsbelastningskraven förändras. Till exempel kan en app med högre användning använda en gräns på
3för mer processorkapacitet, medan en annan app kan använda1när placering av en person är lämplig.