Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
Vous pouvez mettre à l’échelle vos applications Azure App Service en mettant à l’échelle le plan App Service sur lequel ils s’exécutent. Lorsqu'un ensemble d'applications fonctionne dans le même plan App Service, chaque instance étendue exécute toutes les applications du plan.
En revanche, la mise à l’échelle par application peut être activée au niveau du plan App Service pour mettre à l’échelle une application indépendamment du plan App Service qui l’héberge. De cette façon, un plan App Service peut être mis à l’échelle vers 10 instances, mais une application peut être définie pour utiliser seulement cinq.
Remarque
La mise à l’échelle par application est disponible uniquement pour les niveaux tarifaires Standard, Premium, Premium V2, Premium V3 et Isolé .
Les applications sont allouées au plan App Service disponible à l’aide d’une approche optimale pour une distribution uniforme entre les instances. Bien qu’une distribution uniforme ne soit pas garantie, la plateforme garantit que deux instances de la même application ne sont pas hébergées sur la même instance de plan App Service.
La plateforme ne s’appuie pas sur les métriques pour décider de l’allocation de travail. Les applications sont rééquilibrées uniquement lorsque les instances sont ajoutées ou supprimées du plan App Service.
Mise à l’échelle par application à l’aide de PowerShell
Créez un plan avec la mise à l’échelle par application en transmettant le -PerSiteScaling $true paramètre à l’applet New-AzAppServicePlan de commande.
New-AzAppServicePlan -ResourceGroupName $ResourceGroup -Name $AppServicePlan `
-Location $Location `
-Tier Premium -WorkerSize Small `
-NumberofWorkers 5 -PerSiteScaling $true
Activez la mise à l’échelle par application avec un plan App Service existant en transmettant le -PerSiteScaling $true paramètre à l’applet Set-AzAppServicePlan de commande.
Set-AzAppServicePlan -ResourceGroupName $ResourceGroup `
-Name $AppServicePlan -PerSiteScaling $true
Au niveau de l’application, configurez le nombre d’instances que l’application peut utiliser dans le plan App Service.
Dans l’exemple suivant, l’application est limitée à deux instances, indépendamment du nombre d’instances vers lesquelles le plan App Service sous-jacent est étendu.
# 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
Important
$newapp.SiteConfig.NumberOfWorkers est différent de $newapp.MaxNumberOfWorkers. La mise à l’échelle par application utilise $newapp.SiteConfig.NumberOfWorkers pour déterminer les caractéristiques de mise à l’échelle de l’application.
Mise à l’échelle par application à l’aide d’Azure Resource Manager
Le modèle Azure Resource Manager suivant crée :
- Un plan App Service avec un scale-out sur 10 instances
- Application configurée pour évoluer vers un maximum de cinq instances.
Le plan App Service définit la propriété PerSiteScaling sur true "perSiteScaling": true. L’application définit les number of workers pour qu’ils utilisent 5 "properties": { "numberOfWorkers": "5" }.
{
"$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" }
} ]
}]
}
Configuration recommandée pour l’hébergement à haute densité
La mise à l’échelle par application est une fonctionnalité activée dans les régions Azure globales et les environnements App Service. Toutefois, la stratégie recommandée consiste à utiliser les environnements App Service pour tirer parti de leurs fonctionnalités avancées et de la plus grande capacité de plan App Service.
Procédez comme suit pour configurer l’hébergement à haute densité pour vos applications :
Désignez un plan App Service en tant que plan haute densité et appliquez-lui un scale-out de façon à obtenir la capacité souhaitée.
Définissez l’indicateur
PerSiteScalingsur true sur le plan App Service.Les nouvelles applications sont créées et affectées à ce plan App Service avec la
numberOfWorkerspropriété fixée à 1.- L’utilisation de cette configuration génère la densité la plus élevée possible.
Le nombre de travailleurs peut être personnalisé pour chaque application afin de fournir des ressources supplémentaires si nécessaire. Par exemple:
- Une application à forte utilisation peut définir
numberOfWorkersà 3 pour augmenter la capacité de traitement de cette application. - Les applications à faible utilisation définiraient
numberOfWorkerssur 1.
- Une application à forte utilisation peut définir