Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.
Sie können Ihre Azure App Service-Apps skalieren, indem Sie den App Service-Plan skalieren, auf dem sie ausgeführt werden. Wenn mehrere Apps im selben App Service-Plan ausgeführt werden, führt jede skalierte Instanz alle Apps im Plan aus.
Im Gegensatz dazu kann die Skalierung pro App auf App Service-Planebene aktiviert werden, um eine App unabhängig vom App Service-Plan zu skalieren, der sie hosten soll. Auf diese Weise kann ein App Service-Plan auf 10 Instanzen skaliert werden, eine App kann jedoch nur fünf verwenden.
Hinweis
Die Skalierung pro App ist nur für Standard-, Premium-, Premium V2-, Premium V3- und Isolierte Preisstufen verfügbar.
Apps werden dem verfügbaren App Service-Plan zugewiesen, indem sie einen Best-Effort-Ansatz für eine gleichmäßige Verteilung über Instanzen hinweg verwenden. Während eine gleichmäßige Verteilung nicht garantiert ist, stellt die Plattform sicher, dass zwei Instanzen derselben App nicht in derselben App-Planinstanz gehostet werden.
Die Plattform basiert nicht auf Metriken, um die Arbeitszuweisung zu entscheiden. Anwendungen werden nur dann neu ausgeglichen, wenn Instanzen aus dem App Service-Plan hinzugefügt oder entfernt werden.
Skalierung pro App mithilfe von PowerShell
Erstellen Sie einen Plan mit App-Skalierung, indem Sie den -PerSiteScaling $true
Parameter an das New-AzAppServicePlan
Cmdlet übergeben.
New-AzAppServicePlan -ResourceGroupName $ResourceGroup -Name $AppServicePlan `
-Location $Location `
-Tier Premium -WorkerSize Small `
-NumberofWorkers 5 -PerSiteScaling $true
Aktivieren Sie die Skalierung pro App mit einem vorhandenen App-Serviceplan, indem Sie den -PerSiteScaling $true
Parameter an das Set-AzAppServicePlan
Cmdlet übergeben.
Set-AzAppServicePlan -ResourceGroupName $ResourceGroup `
-Name $AppServicePlan -PerSiteScaling $true
Konfigurieren Sie auf App-Ebene die Anzahl der Instanzen, die die App im App Service-Plan verwenden kann.
Im folgenden Beispiel ist die App auf zwei Instanzen beschränkt, und zwar unabhängig davon, auf wie viele Instanzen der zugrunde liegenden App Service-Plan horizontal hochskaliert wird.
# Get the app we want to configure to use "PerSiteScaling"
$newapp = Get-AzWebApp -ResourceGroupName $ResourceGroup -Name $webapp
# Modify the NumberOfWorkers setting to the desired value
$newapp.SiteConfig.NumberOfWorkers = 2
# Post updated app back to Azure
Set-AzWebApp $newapp
Von Bedeutung
$newapp.SiteConfig.NumberOfWorkers
unterscheidet sich von $newapp.MaxNumberOfWorkers
. Die Skalierung pro App verwendet $newapp.SiteConfig.NumberOfWorkers
, um die Skalierungsmerkmale der App zu bestimmen.
Skalierung pro App mit Azure Resource Manager
Diese Azure Resource Manager-Vorlage erstellt Folgendes:
- Ein App Service-Plan, der auf 10 Instanzen skaliert wird.
- Eine App, die so konfiguriert ist, dass sie auf maximal fünf Instanzen skaliert wird.
Der App Service-Plan legt die PerSiteScaling
Eigenschaft auf "true" fest "perSiteScaling": true
. Die App legt die number of workers
fest, um auf 5 "properties": { "numberOfWorkers": "5" }
zu verwenden.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters":{
"appServicePlanName": { "type": "string" },
"appName": { "type": "string" }
},
"resources": [
{
"comments": "App Service Plan with per site perSiteScaling = true",
"type": "Microsoft.Web/serverFarms",
"sku": {
"name": "P1",
"tier": "Premium",
"size": "P1",
"family": "P",
"capacity": 10
},
"name": "[parameters('appServicePlanName')]",
"apiVersion": "2015-08-01",
"location": "West US",
"properties": {
"name": "[parameters('appServicePlanName')]",
"perSiteScaling": true
}
},
{
"type": "Microsoft.Web/sites",
"name": "[parameters('appName')]",
"apiVersion": "2015-08-01-preview",
"location": "West US",
"dependsOn": [ "[resourceId('Microsoft.Web/serverFarms', parameters('appServicePlanName'))]" ],
"properties": { "serverFarmId": "[resourceId('Microsoft.Web/serverFarms', parameters('appServicePlanName'))]" },
"resources": [ {
"comments": "",
"type": "config",
"name": "web",
"apiVersion": "2015-08-01",
"location": "West US",
"dependsOn": [ "[resourceId('Microsoft.Web/Sites', parameters('appName'))]" ],
"properties": { "numberOfWorkers": "5" }
} ]
}]
}
Empfohlene Konfiguration für Hosting mit hoher Dichte
Die Skalierung pro App ist ein Feature, das sowohl in globalen Azure-Regionen als auch in App-Dienstumgebungen aktiviert ist. Die empfohlene Strategie besteht jedoch darin, App-Dienstumgebungen zu verwenden, um ihre erweiterten Features und die größere Kapazität des App Service-Plans zu nutzen.
Führen Sie die folgenden Schritte aus, um das Hosting mit hoher Dichte für Ihre Apps zu konfigurieren:
Legen Sie einen App Service-Plan als Hochdichteplan fest, und skalieren Sie ihn auf die gewünschte Kapazität.
Legen Sie die
PerSiteScaling
Kennzeichnung im App Service-Plan auf "true" fest.Neue Apps werden erstellt und diesem App Service-Plan zugewiesen, wobei die
numberOfWorkers
Eigenschaft auf 1 festgelegt ist.- Die Verwendung dieser Konfiguration ermöglicht die höchste Dichte.
Die Anzahl der Mitarbeiter kann unabhängig pro App konfiguriert werden, um bei Bedarf zusätzliche Ressourcen zu gewähren. Beispiel:
- Eine vielgenutzte App kann
numberOfWorkers
auf 3 festlegen, um mehr Verarbeitungskapazität für diese App zu haben. - Apps mit niedriger Verwendung würden
numberOfWorkers
auf 1 setzen.
- Eine vielgenutzte App kann