Aracılığıyla paylaş


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.MaxNumberOfWorkersfarklı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": trueolarak 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" }
            } ]
        }]
}

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:

  1. App Service planını yüksek yoğunluklu plan olarak belirleyin ve istediğiniz kapasiteye ölçeklendirin.
  2. App Service planında PerSiteScaling bayrağı true olarak ayarlayın.
  3. 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.
  4. Ç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.

Sonraki adımlar