ECS 弹性伸缩怎么用:业务高峰自动加机器的实践笔记

举报
yd_291272928 发表于 2026/11/07 08:11:54 2026/11/07
【摘要】 上周我们的小程序做了一场限时秒杀,晚上八点流量一下子冲上来,单台 ECS 的 CPU 跑到 90% 以上,页面打开明显变慢。那次手动加机器,等加上去高峰已过一半。活动结束后,我花了一个下午把弹性伸缩(Auto Scaling,简称 AS)配了起来,这篇笔记记下配置过程和几个坑。 一、三个概念先分清伸缩组是“管机器的筐”,决定机器最多几台、最少几台,放在哪个可用区;伸缩配置是“新机器的模板”,...

上周我们的小程序做了一场限时秒杀,晚上八点流量一下子冲上来,单台 ECS 的 CPU 跑到 90% 以上,页面打开明显变慢。那次手动加机器,等加上去高峰已过一半。活动结束后,我花了一个下午把弹性伸缩(Auto Scaling,简称 AS)配了起来,这篇笔记记下配置过程和几个坑。

一、三个概念先分清

伸缩组是“管机器的筐”,决定机器最多几台、最少几台,放在哪个可用区;伸缩配置是“新机器的模板”,包括镜像、规格、系统盘和安全组;伸缩策略是“什么时候加、什么时候减的规矩”。顺序一般是先做伸缩配置,再建伸缩组,最后挂策略。

二、创建伸缩组和伸缩配置

我先把线上最稳的那台 ECS 做成私有镜像,作为伸缩配置的镜像;规格和线上一致,系统盘 40GB,安全组复用线上的,新机器一启动就能进负载均衡后端组。建组时最小实例数填 2 台,日常两台互备;最大实例数填 8 台,给高峰留四倍空间;期望实例数填 2 台。

三、按 CPU 触发扩容

高峰最直观的信号就是 CPU。我建了一条告警策略:CPU 使用率连续 5 分钟平均值大于 70%,就增加 2 台。为什么是 70% 而不是 90%?新机器从创建到接流量要三五分钟,等到 90% 再动手就晚了。缩容配得保守一些:CPU 连续 15 分钟低于 30% 才减少 1 台,避免流量一抖就把机器减掉。

四、冷却时间与实例回收

冷却时间是我踩过的第一个坑。默认 300 秒,我一开始改成 60 秒,结果高峰时 CPU 在阈值上下晃,组里一会儿加两台、一会儿减一台,来回横跳。改回 300 秒,等指标稳定了再判断,动作就稳多了。回收时优先移除最晚创建的实例,并勾选释放时删除云服务器,否则减下来的机器还在计费。

五、与手动升降配的区别

手动升配是把一台机器规格调大,比如 2 核变 4 核,要重启,业务会中断,而且规格有上限;手动加机器要人盯着指标,半夜的高峰根本守不住。弹性伸缩是按“台数”横向扩,单台不动、业务不中断,新机器自动进负载均衡;低峰自动缩回去,费用跟着流量走。升配解决“单台不够强”,伸缩解决“台数不够多”,高峰真正靠得住的是伸缩。

写在最后

配完后我用压测模拟了一次晚高峰:CPU 冲到 75% 左右,组里自动加了两台,页面响应时间基本没变;流量回落后,机器也慢慢缩了回去。阈值、冷却时间和回收策略都要结合业务波动来调,先把最小、最大实例数和一条 CPU 策略跑起来,再慢慢调细节,是最稳的上手方式。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。