如何基于负载配置Azure App Service自动缩放?已配置CPU内存但CPU未冲高
Azure App Service 基于负载的自动缩放配置方案
Azure App Service支持直接基于流量负载相关指标配置自动缩放,针对你遇到的CPU使用率未冲高但需要基于负载扩容的场景,可按以下方案操作:
核心负载指标选择
优先选用以下直接反映服务负载的指标:
- HTTP队列长度:代表等待服务处理的请求队列数量,队列持续增长说明服务处理能力无法匹配当前流量,是触发扩容的核心信号。
- 每秒请求数(RPS):适合流量波动规律明确的场景,可根据业务峰值的RPS阈值设置扩容规则。
具体配置步骤
- 进入Azure门户,打开目标App Service资源,选择左侧菜单的「缩放(App Service 计划)」选项。
- 切换到「自定义缩放」模式,点击「添加规则」创建新的缩放规则。
- 在规则配置中:
- 指标来源选择当前App Service计划;
- 选择对应负载指标:
- 若选HTTP队列长度:在「指标名称」中找到「队列」分类下的「HTTP队列长度」,设置阈值(例如:队列长度持续5分钟超过10时,增加1个实例);
- 若选RPS:在「指标名称」中找到「请求」分类下的「每秒请求数」,设置阈值(例如:RPS持续5分钟超过50时,增加1个实例);
- 同时配置缩容规则,例如:队列长度持续10分钟低于2,或RPS低于10时,减少1个实例,避免资源闲置。
关键注意事项
- 建议结合CPU/内存指标做补充:若请求数高但CPU使用率低,可能存在代码阻塞(如IO等待),扩容可缓解队列压力,但需同步排查代码性能问题;
- 设置合理冷却时间:扩容后至少保留10-15分钟的冷却期,避免频繁缩放导致服务波动;
- 先做小范围测试:例如设置最小实例数2、最大实例数5,观察负载变化与缩放效果后,再调整阈值与实例数量范围。
内容的提问来源于stack exchange,提问作者Haq114
相关产品推荐
相关产品推荐

