Nagy sűrűségű üzemeltetés Azure-alkalmazás szolgáltatásban alkalmazásonkénti skálázás használatával
Feljegyzés
Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
Az App Service használatakor skálázhatja az alkalmazásokat az általuk futtatott App Service-csomag skálázásával. Ha több alkalmazás fut ugyanabban az App Service-csomagban, minden felskálázott példány a csomag összes alkalmazását futtatja.
Az alkalmazásonkénti skálázás az App Service-csomag szintjén engedélyezhető, hogy az alkalmazás skálázása független legyen az azt futtató App Service-csomagtól. Így egy App Service-csomag 10 példányra skálázható, de egy alkalmazás csak ötre állítható be.
Feljegyzés
Alkalmazásonkénti skálázás csak Standard, Prémium, Prémium V2, Prémium V3 és Izolált tarifacsomagokhoz érhető el.
Az alkalmazások az elérhető App Service-csomaghoz vannak lefoglalva a példányok közötti egyenletes eloszlás érdekében a legjobb erőfeszítési megközelítéssel. Bár az egyenletes terjesztés nem garantált, a platform gondoskodik arról, hogy ugyanazon alkalmazás két példánya ne ugyanazon az App Service-csomagpéldányon legyen üzemeltetve.
A platform nem támaszkodik metrikákra a feldolgozók kiosztásának eldöntéséhez. Az alkalmazások csak akkor lesznek újraegyensúlyozva, ha a példányokat hozzáadják vagy eltávolítják az App Service-csomagból.
Alkalmazásonkénti skálázás a PowerShell használatával
Hozzon létre egy tervet alkalmazásonkénti skálázással úgy, hogy a -PerSiteScaling $true
paramétert átadja a New-AzAppServicePlan
parancsmagnak.
New-AzAppServicePlan -ResourceGroupName $ResourceGroup -Name $AppServicePlan `
-Location $Location `
-Tier Premium -WorkerSize Small `
-NumberofWorkers 5 -PerSiteScaling $true
Engedélyezze az alkalmazásonkénti skálázást egy meglévő App Service-csomaggal úgy, hogy átadja a -PerSiteScaling $true
paramétert a Set-AzAppServicePlan
parancsmagnak.
# Enable per-app scaling for the App Service Plan using the "PerSiteScaling" parameter.
Set-AzAppServicePlan -ResourceGroupName $ResourceGroup `
-Name $AppServicePlan -PerSiteScaling $true
Az alkalmazás szintjén konfigurálja az app service-csomagban használható példányok számát.
Az alábbi példában az alkalmazás két példányra korlátozódik, függetlenül attól, hogy az alapul szolgáló App Service-csomag hány példányra terjed ki.
# 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
Fontos
$newapp.SiteConfig.NumberOfWorkers
eltér a $newapp.MaxNumberOfWorkers
. Az alkalmazásonkénti skálázás az alkalmazás skálázási jellemzőinek meghatározására használja $newapp.SiteConfig.NumberOfWorkers
.
Alkalmazásonkénti skálázás az Azure Resource Manager használatával
A következő Azure Resource Manager-sablont hozza létre:
- 10 példányra felskálázott App Service-csomag
- olyan alkalmazás, amely legfeljebb öt példányra való skálázásra van konfigurálva.
Az App Service-csomag a PerSiteScaling tulajdonságot igaz "perSiteScaling": true
értékre állítja. Az alkalmazás a használni kívánt feldolgozók számát 5 "properties": { "numberOfWorkers": "5" }
értékre állítja.
{
"$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" }
} ]
}]
}
Ajánlott konfiguráció nagy sűrűségű üzemeltetéshez
Az alkalmazásonkénti skálázás olyan szolgáltatás, amely mind a globális Azure-régiókban , mind az App Service-környezetekben engedélyezve van. Az ajánlott stratégia azonban az App Service-környezetek használata a speciális funkciók és a nagyobb App Service-csomagkapacitás kihasználása érdekében.
Az alábbi lépéseket követve konfigurálhatja a nagy sűrűségű üzemeltetést az alkalmazásokhoz:
- Jelöljön ki egy App Service-csomagot nagy sűrűségű csomagként, és skálázza ki a kívánt kapacitásra.
- Állítsa a
PerSiteScaling
jelzőt igaz értékre az App Service-csomagban. - A rendszer új alkalmazásokat hoz létre és rendel hozzá az App Service-csomaghoz az 1-es számúOfWorkers tulajdonsággal.
- Ennek a konfigurációnak a használata a lehető legnagyobb sűrűséget eredményezi.
- A feldolgozók száma alkalmazásonként egymástól függetlenül konfigurálható, hogy szükség esetén további erőforrásokat biztosítson. Például:
- A magas kihasználtságú alkalmazások 3-ra állíthatják a NumberOfWorkerst, hogy nagyobb feldolgozási kapacitással rendelkezzenek az adott alkalmazáshoz.
- Az alacsony használatú alkalmazások a NumberOfWorkers értéket 1 értékre állítják be.