Uygulama başına ölçeklendirme kullanarak Azure Uygulaması Hizmetinde yüksek yoğunluklu barındırma
Not
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
App Service'i kullanırken, üzerinde çalıştıkları App Service planını ölçeklendirerek uygulamalarınızı ölçeklendirin. Aynı App Service planında birden çok uygulama çalıştırıldığında, ölçeği genişletilen her örnek plandaki tüm uygulamaları çalıştırır.
Uygulama başına ölçeklendirme app Service planı düzeyinde etkinleştirilebilir ve bu sayede uygulamayı barındıran App Service planından bağımsız olarak ölçeklendirilebilir. Bu şekilde App Service planı 10 örneğe ölçeklendirilebilir, ancak bir uygulama yalnızca beş örnek kullanacak şekilde ayarlanabilir.
Not
Uygulama başına ölçeklendirme yalnızca Standart, Premium, Premium V2, Premium V3 ve Yalıtılmış fiyatlandırma katmanları için kullanılabilir.
Uygulamalar, örnekler arasında eşit dağıtım için en iyi çaba yaklaşımı kullanılarak kullanılabilir App Service planına ayrılır. Eşit dağıtım garanti edilmese de platform, aynı uygulamanın iki örneğinin aynı App Service planı örneğinde barındırılmamasını sağlar.
Platform, çalışan ayırmaya karar vermek için ölçümlere güvenmez. Uygulamalar yalnızca örnekler App Service planına eklendiğinde veya kaldırıldığında yeniden dengelenir.
PowerShell kullanarak uygulama başına ölçeklendirme
parametresini cmdlet'ine -PerSiteScaling $true
geçirerek uygulama başına ölçeklendirme ile New-AzAppServicePlan
bir plan oluşturun.
New-AzAppServicePlan -ResourceGroupName $ResourceGroup -Name $AppServicePlan `
-Location $Location `
-Tier Premium -WorkerSize Small `
-NumberofWorkers 5 -PerSiteScaling $true
parametresini cmdlet'ine -PerSiteScaling $true
geçirerek mevcut bir App Service Planı ile uygulama başına ölçeklendirmeyi Set-AzAppServicePlan
etkinleştirin.
# Enable per-app scaling for the App Service Plan using the "PerSiteScaling" parameter.
Set-AzAppServicePlan -ResourceGroupName $ResourceGroup `
-Name $AppServicePlan -PerSiteScaling $true
Uygulama düzeyinde, uygulamanın App Service planında kullanabileceği örnek sayısını yapılandırın.
Aşağıdaki örnekte, temel alınan uygulama hizmeti planının ölçeği kaç örneğe genişletildiğinden bağımsız olarak uygulama iki örnekle sınırlıdır.
# 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
Önemli
$newapp.SiteConfig.NumberOfWorkers
' den $newapp.MaxNumberOfWorkers
farklıdır. Uygulama başına ölçeklendirme, uygulamanın ölçek özelliklerini belirlemek için kullanır $newapp.SiteConfig.NumberOfWorkers
.
Azure Resource Manager kullanarak uygulama başına ölçeklendirme
Aşağıdaki Azure Resource Manager şablonu oluşturur:
- Ölçeği 10 örneğe genişletilen bir App Service planı
- en fazla beş örneğe ölçeklendirilecek şekilde yapılandırılmış bir uygulama.
App Service planı PerSiteScaling özelliğini true "perSiteScaling": true
olarak ayarlııyor. Uygulama, kullanılacak çalışan sayısını 5 "properties": { "numberOfWorkers": "5" }
olarak ayarlanıyor.
{
"$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" }
} ]
}]
}
Yüksek yoğunluklu barındırma için önerilen yapılandırma
Uygulama başına ölçeklendirme, hem genel Azure bölgelerinde hem de App Service Ortamı'lerde etkinleştirilen bir özelliktir. Ancak önerilen strateji, gelişmiş özelliklerinden ve daha büyük App Service planı kapasitesinden yararlanmak için App Service Ortamı kullanmaktır.
Uygulamalarınız için yüksek yoğunluklu barındırmayı yapılandırmak için şu adımları izleyin:
- App Service planını yüksek yoğunluklu plan olarak belirleyin ve istediğiniz kapasiteye ölçeklendirin.
- App Service planında
PerSiteScaling
bayrağı true olarak ayarlayın. - Yeni uygulamalar oluşturulur ve numberOfWorkers özelliği 1 olarak ayarlanmış şekilde bu App Service planına atanır.
- Bu yapılandırmanın kullanılması mümkün olan en yüksek yoğunluğu sağlar.
- Çalışan sayısı, gerektiğinde ek kaynaklar vermek için uygulama başına bağımsız olarak yapılandırılabilir. Örneğin:
- Yüksek kullanımlı bir uygulama, bu uygulama için daha fazla işleme kapasitesine sahip olmak için numberOfWorkers değerini 3 olarak ayarlayabilir.
- Az kullanılan uygulamalar numberOfWorkers değerini 1 olarak ayarlar.