如何在Azure App Service中实现单应用缩放以优化高密度托管?
Azure App Service 单应用缩放(Per-App Scaling)配置指南
前提条件确认
- 确保你的App Service Plan为Premium V3(或更高层级Premium SKU),仅这类计划支持单应用缩放功能
- 已在目标计划下部署多个需独立缩放的应用
配置步骤
1. 为单个应用启用单应用缩放
方法一:Azure 门户操作
- 进入目标应用(如App A)的管理界面
- 左侧导航栏选择缩放(App Service 计划)
- 找到页面顶部的单应用缩放选项,切换为启用状态
- 设置该应用的最大实例数:例如给高负载的App A设为10,轻量的App B设为2(根据实际负载需求调整)
方法二:Azure CLI 命令
# 启用App A的单应用缩放并设置最大实例数 az webapp update --name AppA --resource-group YourResourceGroup --set perSiteScaling=true az webapp update --name AppA --resource-group YourResourceGroup --set siteConfig.numberOfWorkers=10 # 为App B配置单应用缩放及实例数限制 az webapp update --name AppB --resource-group YourResourceGroup --set perSiteScaling=true az webapp update --name AppB --resource-group YourResourceGroup --set siteConfig.numberOfWorkers=2
2. 配置单应用专属自动缩放规则
启用单应用缩放后,需为每个应用单独配置自动缩放规则,替代原计划级别的统一缩放:
- 进入应用的缩放页面,切换到自定义自动缩放标签
- 创建缩放规则:
- 触发条件:例如设置当CPU使用率超过70%时,增加1个实例;低于30%时,减少1个实例
- 实例范围:设置最小实例数(如1)和最大实例数(对应之前为该应用设置的最大实例配额)
- 为轻量应用(如App B)配置更保守的规则:比如CPU超过80%才触发缩放,最大实例数设为2
最佳实践
- 实例配额合理分配:根据应用资源消耗模型分配最大实例数,高负载应用占用更多计划实例配额,轻量应用保留少量配额,避免资源浪费
- 单独监控资源指标:在Azure Monitor中为每个应用单独设置CPU、内存、请求数的告警,及时调整缩放规则
- 控制总实例上限:所有应用的实例总数不能超过App Service Plan的总实例数,比如计划总实例为12,App A设10、App B设2刚好匹配,避免实例冲突
- 负载测试验证:模拟高负载场景测试高消耗应用的缩放效果,同时检查轻量应用的性能是否不受影响,确保资源隔离生效
示例场景配置验证
针对你的需求场景:
- App A:启用单应用缩放,最大实例数设10,自动缩放规则为CPU>70%加1实例、CPU<30%减1实例
- App B:启用单应用缩放,最大实例数设2,自动缩放规则为CPU>80%加1实例、CPU<20%减1实例
- 当App A因计算任务触发缩放时,只会占用计划内的空闲实例,不会抢占App B的运行资源,实现资源高效分配
内容的提问来源于stack exchange,提问作者Senthil Gopal
相关产品推荐
相关产品推荐

