Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать, ознакомьтесь с разделом Установка Azure PowerShell. Чтобы узнать, как перейти на модуль Az PowerShell, см. статью Миграция Azure PowerShell с AzureRM на Az.
Вы можете масштабировать приложения Службы приложений Azure, масштабируя план службы приложений , на который они выполняются. При запуске нескольких приложений в одном плане App Service, каждый экземпляр с горизонтальным масштабированием запускает все приложения в этом плане.
В отличие от этого, масштабирование для каждого приложения можно включить на уровне плана службы приложений для масштабирования приложения независимо от плана службы приложений, на котором он размещен. Таким образом, план App Service можно масштабировать до 10 экземпляров, но приложение может использовать только пять из них.
Замечание
Масштабирование для каждого приложения доступно только для ценовых категорий "Стандартный", "Премиум", "Премиум" V2, "Премиум" V3 и "Изолированный".
Приложения выделяются в доступный план службы приложений, используя оптимальный подход для равномерного распределения между экземплярами. Хотя равномерное распределение не гарантируется, платформа гарантирует, что два экземпляра одного приложения не размещаются в одном экземпляре плана службы приложений.
Платформа не полагается на метрики при распределении рабочих ресурсов. Приложения перебалансируются только при добавлении или удалении экземпляров из плана службы приложений.
Масштабирование для каждого приложения с помощью PowerShell
Создайте план с отдельным масштабированием для приложений, передавая параметр -PerSiteScaling $true командлету New-AzAppServicePlan.
New-AzAppServicePlan -ResourceGroupName $ResourceGroup -Name $AppServicePlan `
-Location $Location `
-Tier Premium -WorkerSize Small `
-NumberofWorkers 5 -PerSiteScaling $true
Вы можете включить масштабирование на уровне приложения с помощью существующего плана службы приложений, передав параметр -PerSiteScaling $true командлету Set-AzAppServicePlan.
Set-AzAppServicePlan -ResourceGroupName $ResourceGroup `
-Name $AppServicePlan -PerSiteScaling $true
На уровне приложения настройте количество экземпляров, которые приложение может использовать в плане службы приложений.
В следующем примере количество экземпляров приложения ограничено двумя, независимо от того, на сколько экземпляров масштабируется базовый план службы приложений.
# 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
Это важно
$newapp.SiteConfig.NumberOfWorkers отличается от $newapp.MaxNumberOfWorkers. Масштабирование для каждого приложения использует $newapp.SiteConfig.NumberOfWorkers для определения характеристик масштабирования приложения.
Масштабирование для каждого приложения с помощью Azure Resource Manager
Следующий шаблон Azure Resource Manager создает:
- План службы приложений, масштабируемый до 10 экземпляров.
- Приложение, настроенное для масштабирования до пяти экземпляров.
План службы приложений устанавливает значение свойства PerSiteScaling в true "perSiteScaling": true. Приложение устанавливает number of workers для использования значение 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" }
} ]
}]
}
Рекомендуемая конфигурация для высокоплотного размещения
Масштабирование для каждого приложения — это функция, включенная как в глобальных регионах Azure, так и в средах службы приложений. Однако рекомендуемая стратегия — использовать среды службы приложений, чтобы воспользоваться преимуществами своих расширенных функций и большей емкости плана службы приложений.
Выполните следующие действия, чтобы настроить размещение с высокой плотностью для приложений:
Назначьте план службы приложений в качестве плана высокой плотности и масштабируйте его до требуемой емкости.
Установите флаг для плана службы приложений
PerSiteScalingв значение true.Новые приложения создаются и назначаются данному плану службы приложений, при этом свойство
numberOfWorkersустанавливается в 1.- Использование этой конфигурации обеспечивает максимальную плотность.
Количество работников может быть сконфигурировано независимо для каждого приложения, чтобы предоставить дополнительные ресурсы в зависимости от нужд. Рассмотрим пример.
- Приложение с высоким уровнем использования может задать
numberOfWorkersна 3, чтобы иметь большую вычислительную мощность для этого приложения. - Для приложений с низким уровнем использования следовало бы задать
numberOfWorkersзначение 1.
- Приложение с высоким уровнем использования может задать