Bagikan melalui


Hosting dengan kepadatan tinggi di Azure App Service menggunakan penskalaan per aplikasi

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Saat menggunakan App Service, Anda dapat menskalakan aplikasi dengan menskalakan paket App Service yang dijalankannya. Saat beberapa aplikasi dijalankan dalam paket App Service yang sama, setiap instans yang diskalakan secara meluas menjalankan semua aplikasi dalam paket.

Penskalaan per aplikasi dapat diaktifkan di tingkat paket App Service untuk memungkinkan penskalaan aplikasi secara independen dari paket App Service yang menghostingnya. Dengan cara ini, paket App Service dapat diskalakan menjadi 10 instans, tetapi aplikasi dapat diatur untuk hanya menggunakan lima instans saja.

Catatan

Penskalaan per aplikasi hanya tersedia untuk tingkat harga Standar, Premium, Premium V2, Premium V3, dan Terisolasi.

Aplikasi dialokasikan untuk paket App Service yang tersedia menggunakan pendekatan upaya terbaik untuk distribusi yang merata di seluruh instans. Meskipun distribusi yang merata tidak dijamin, platform akan memastikan bahwa dua instans dari aplikasi yang sama tidak akan dihosting pada instans paket App Service yang sama.

Platform ini tidak bergantung pada metrik untuk memutuskan alokasi pekerja. Aplikasi hanya diseimbangkan kembali saat instans ditambahkan atau dihapus dari paket App Service.

Penskalaan per aplikasi menggunakan PowerShell

Buat paket dengan penskalaan per aplikasi dengan meneruskan parameter -PerSiteScaling $true ke cmdlet New-AzAppServicePlan.

New-AzAppServicePlan -ResourceGroupName $ResourceGroup -Name $AppServicePlan `
                            -Location $Location `
                            -Tier Premium -WorkerSize Small `
                            -NumberofWorkers 5 -PerSiteScaling $true

Aktifkan penskalaan per aplikasi dengan Paket App Service yang ada dengan meneruskan parameter -PerSiteScaling $true ke cmdlet Set-AzAppServicePlan.

# Enable per-app scaling for the App Service Plan using the "PerSiteScaling" parameter.
Set-AzAppServicePlan -ResourceGroupName $ResourceGroup `
   -Name $AppServicePlan -PerSiteScaling $true

Di tingkat aplikasi, konfigurasikan jumlah instans yang dapat digunakan aplikasi dalam paket App Service.

Dalam contoh di bawah ini, aplikasi terbatas pada dua instans terlepas dari berapa banyak instans yang diskalakan oleh paket layanan aplikasi yang mendasarinya.

# 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

Penting

$newapp.SiteConfig.NumberOfWorkers berbeda dari $newapp.MaxNumberOfWorkers. Penskalaan per aplikasi menggunakan $newapp.SiteConfig.NumberOfWorkers untuk menentukan karakteristik skala aplikasi.

Penskalaan per aplikasi menggunakan Azure Resource Manager

Templat Azure Resource Manager berikut ini membuat:

  • Paket App Service yang diskalakan hingga 10 instans
  • aplikasi yang dikonfigurasi untuk menskalakan hingga maksimal lima instans.

Paket App Service mengatur properti PerSiteScaling ke true "perSiteScaling": true. Aplikasi ini mengatur jumlah pekerja yang akan digunakan ke 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" }
            } ]
        }]
}

Penskalaan per aplikasi adalah fitur yang diaktifkan di wilayah Azure global dan Lingkungan App Service. Namun, strategi yang disarankan adalah dengan menggunakan Lingkungan App Service untuk memanfaatkan fitur canggih mereka dan kapasitas paket App Service yang lebih besar.

Ikuti langkah-langkah ini untuk mengonfigurasi hosting dengan kepadatan tinggi untuk aplikasi Anda:

  1. Tetapkan paket App Service sebagai paket kepadatan tinggi dan skalakan ke kapasitas yang diinginkan.
  2. Atur bendera PerSiteScaling ke true pada paket App Service.
  3. Aplikasi baru dibuat dan ditetapkan ke paket App Service tersebut dengan properti numberOfWorkers diatur ke 1.
    • Menggunakan konfigurasi ini menghasilkan kepadatan setinggi mungkin.
  4. Jumlah pekerja dapat dikonfigurasi secara independen per aplikasi untuk memberikan sumber daya tambahan sesuai kebutuhan. Misalnya:
    • Aplikasi dengan penggunaan tinggi dapat mengatur numberOfWorkers ke 3 agar memiliki kapasitas pemrosesan yang lebih besar untuk aplikasi tersebut.
    • Aplikasi dengan penggunaan rendah akan menetapkan numberOfWorkers ke 1.

Langkah berikutnya