滚动新闻 →
FP32、FP16、BF16 和 FP8 在 AI 计算中的区别,降低精度究竟改变了什么 Google Cloud Autoscaling 怎么工作,什么时候应该让虚拟机自动增加实例 一个用户可以加入多个企业吗?SaaS 多组织账户应该如何设计 休斯顿侨界庆祝115年双十国庆系列活动开跑 显卡可以被系统识别却没有输出,视频接口和显卡硬件如何排查 Windows 11 内存使用情况怎么查看?判断电脑是否需要升级的方法 川习会落幕 川普:浅谈台湾 拒与中共AI合作 “麦氏之家”庆中秋共团圆 感受传统文化之旅 namespace 和 use 到底怎么配合?PHP 面向对象开发基础一次掌握 《战国策》中的说客为什么如此有智慧 最高法院解除SAVE系统禁令 批准核实选民身份 中国下架月饼回收 网民质疑冷库保存明年再卖 风暴逼近美东 海水涌入街道 多州陷灾情 习邀10万美青少年赴华交流 真实意图引警觉 有人把未来押在美国 有人却拿着美元回到中国 继躺平、老鼠人后 高失业率又催生“挂壁青年” 张仲景与中国传统医学的发展 广州景区表演爆意外 “嫦娥”高空坠地生死不明 围棋与中国传统哲学之间有什么联系 为什么马克思主义在北美大学人文社会科学中影响明显却没有成为主流经济学 让孩子知道家务不是父母一个人的责任 手动曝光和自动曝光应该怎么选择 杭州是如何从地方城市发展成为南宋都城的 又是充电宝? 韩国首尔航空航班起飞前突然起火 镜子应该放在哪里才能改善小空间的采光 强烈风暴横扫美东 海水倒灌街道成河 川习会刚结束 川普即致电高市谈中国 春节年夜饭为什么如此重要 传哈尔滨一家拒收货 被骑手灭门 旅行中应该怎样减少住宿成本 台海和平是国际核心利益 学者:非美中交易筹码 中共党魁访美 多位美国议员谴责恶行 白宫公布川习会成果 外界认为成效有限 山西大同中秋节突降冰雹 地面积厚厚冰粒如雪堆 中国知名歌手刘欢因病去世 川普离开白宫时与记者交谈 奇葩恐怖 高速上国产电车轮子故障斜着开 川习会落幕 美国智库分析亮点 汽车机油消耗过快应该从哪里查 川普断伊朗后路!习承诺不援伊 美或将重启轰炸

Google Cloud Autoscaling 怎么工作,什么时候应该让虚拟机自动增加实例

发布时间: 2026-09-26 19:30:02    最后更新: 2026-09-26 20:35:48    阅读:4  约10 分钟阅读     

一台服务器什么时候应该增加第二台、第三台甚至几十台服务器?在传统机房里,这通常意味着管理员提前购买硬件、安装系统、配置应用,然后等待流量到来。云计算改变了这个逻辑。Google Cloud 的 Autoscaling 可以根据工作负载变化,自动调整虚拟机实例数量,让计算资源随着业务需求增加或者减少。

但自动扩容并不是简单的“CPU超过75%,马上开一台新机器”。如果把Autoscaling理解成一个只看CPU温度的自动开关,很容易在实际部署中产生错误配置。

Google Cloud Compute Engine中的自动扩展主要建立在Managed Instance Group,也就是MIG之上。MIG可以把一组配置一致的虚拟机作为一个整体管理,而Autoscaler则根据预先设定的扩展策略决定这个实例组应该维持多大规模。负载增加时扩容,需求下降时缩容。

最容易理解的方式,是把Autoscaler想象成一个不断回答问题的控制系统:按照现在的负载,这个实例组还够不够用?

最常见的信号是CPU利用率。

假设一个MIG设置目标CPU利用率为60%。随着用户请求增加,实例组平均CPU利用率不断高于目标值,Autoscaler可能增加实例,让更多VM分担工作。反过来,当负载长期下降,实例数量又可能减少。

这里有一个重要区别:这个60%或者75%不是“超过以后立即执行”的硬性报警线。它更接近Autoscaler希望维持的目标利用率。系统会根据当前实例组的负载和配置,计算需要多少实例,而不是机械地看到一台机器超过75%就增加一台。

而且,Google Cloud并不要求Autoscaling只看CPU。

目前的MIG Autoscaling可以使用平均CPU利用率、负载均衡服务能力、Cloud Monitoring指标以及计划任务等信号。在某些工作负载中,还可以根据队列等业务指标进行扩展。

这非常重要,因为CPU高并不一定意味着用户体验变差,CPU低也不一定意味着服务很健康。

比如一个Web API服务器的CPU只有40%,但是数据库查询延迟已经从50毫秒增加到800毫秒。此时继续增加Web服务器可能没有多大帮助,因为真正的瓶颈在数据库。

反过来,一台服务器CPU可能长期只有50%,但它承担的是大量网络连接或者请求分发任务,真正限制性能的可能是负载均衡服务能力、网络吞吐或者其他指标。

因此,选择Autoscaling信号时,应该尽可能选择能够反映“业务容量”的指标,而不是随手选择一个看起来容易理解的硬件指标。

Google Cloud还允许同时设置多个Autoscaling信号。当多个信号同时存在时,Autoscaler会分别计算每个信号所需要的实例数量,然后采用其中最大的建议规模。这样做的逻辑很简单:如果CPU认为需要10台机器,而负载均衡服务能力认为需要14台,那么系统不能只增加到10台,因为14台才是当前策略中更高的容量需求。

这也是自动扩容真正有价值的地方:它不是简单地根据一个数字开关服务器,而是在多个资源信号之间寻找满足当前需求的容量。

当然,Autoscaling也可以提前扩容。

对于每天上午固定出现流量高峰的网站,如果每天早上9点才开始看到CPU上升,然后才创建VM,新的实例可能来不及在流量高峰之前完成初始化。Google Cloud提供了schedule-based autoscaling,可以提前规定某个时间段至少需要多少台VM。

例如一个在线教育平台每天晚上7点都会出现大量用户同时进入课程。如果一台VM从创建到应用真正能够处理请求需要几分钟,那么7点才开始扩容显然太晚。计划扩容可以提前准备容量。

对于具有明显周期性负载的MIG,还可以使用predictive autoscaling。它利用历史负载预测未来需求,并提前扩容,使新VM能够在负载到来之前准备好。Google特别指出,这种方式更适合具有稳定日周期或周周期,而且实例初始化时间比较长的工作负载。

不过,预测并不是Autoscaling的唯一依据。

如果突然发生一条新闻导致网站访问量暴涨,而这种流量历史上从未出现过,预测模型当然不可能提前准确知道。Google的文档说明,预测Autoscaling仍会受到实时负载信号影响;如果实时负载高于预测值,实时信号会优先发挥作用。

这意味着预测扩容和实时扩容并不是二选一。一个负责提前准备,一个负责应对突然发生的变化。

自动扩容还有一个非常容易被忽略的问题:新实例不是凭空出现以后就马上成为一台“成熟服务器”。

VM需要启动操作系统,运行初始化脚本,启动应用程序,建立连接,并加载必要的数据。Google Cloud允许配置initialization period,用来告诉Autoscaler新实例大约需要多久才能进入稳定工作状态。Autoscaler在扩容判断中会考虑这个初始化阶段,因为刚刚启动的VM产生的资源利用率可能还不能代表正常运行状态。默认初始化时间为60秒,但实际应该根据应用启动过程进行测试和设置。

因此,一个启动需要30秒的Node.js API服务器,与一个需要5分钟加载模型的AI推理服务器,不能使用完全相同的Autoscaling思路。

缩容同样不能理解成“CPU下降就马上删除服务器”。

如果网站刚刚经历一次高峰,流量下降几分钟,Autoscaler如果立即删除大量VM,下一波请求又来了,就可能再次扩容。结果就是实例数量不断增加、减少,系统出现所谓的“抖动”。

Google Cloud为此使用stabilization机制。默认情况下,Autoscaler在缩容时会考虑近期观察到的峰值负载,而不是看到当前负载下降就立即把实例删除。默认的stabilization period为600秒,也就是10分钟。

对于某些业务,还可以使用scale-in controls进一步限制缩容速度。例如一个网站预计流量下降后很快又会迎来第二波高峰,就没有必要在第一波高峰刚结束时迅速删除大量VM。scale-in controls可以限制实例减少的速度。

这说明Autoscaling真正解决的是“容量弹性”,而不是“所有性能问题”。

如果数据库已经达到连接数上限,Web服务器从10台增加到50台可能只会让数据库死得更快。

如果应用使用共享文件系统,而存储IOPS已经达到上限,增加计算实例同样不会自动解决问题。

如果应用内部存在全局锁、单线程任务或者某个只能运行在单节点上的核心组件,那么增加VM也可能无法提高吞吐量。

如果应用需要大量实例之间互相通信,规模继续扩大以后,网络通信成本甚至可能成为新的瓶颈。

因此,配置Autoscaling之前,最好先回答一个非常现实的问题:这个应用的性能到底能不能随着实例数量增加而近似线性增长?

如果增加一台服务器能够多处理一部分请求,增加到10台以后仍然能够继续提高吞吐量,那么Autoscaling非常适合。

如果所有服务器最终都必须等待同一个数据库、同一个磁盘、同一个锁或者同一个外部API,那么Autoscaling的价值就会迅速下降。

成本也是Autoscaling必须考虑的问题。

自动扩容的优势之一就是低负载时可以减少闲置VM,从而降低成本。但自动扩容并不会自动帮企业控制预算。如果一次突发流量让实例组从5台扩大到50台,计算资源产生的费用同样会快速增加。

因此实际生产环境通常应该设置合理的最小实例数和最大实例数。Google Cloud的Autoscaling策略允许配置实例数量上下限,最大实例数尤其重要,因为它可以防止某些异常负载或者错误配置导致实例无限增加。

对于面向公众的网站,一个比较合理的思考方式是把Autoscaling看成一个弹性水库。

正常情况下,只保留满足基本业务所需要的容量;流量增加时释放更多计算资源;高峰过去以后,再逐步收回多余容量。但水库的大小仍然有限,进水管和出水管也有极限。如果数据库、网络或者存储已经堵住,继续增加水库里的水并不能解决问题。

所以,什么时候应该让虚拟机自动增加实例?

答案不是“CPU超过某个数字的时候”,而是当应用的实际容量需求正在增加,而且增加更多实例能够有效分担工作负载的时候。

对于普通Web应用,可以从CPU、请求量或者负载均衡服务能力入手;对于后台任务,可以考虑队列长度或者自定义Cloud Monitoring指标;对于每天规律出现的流量,可以使用计划扩容;对于有明显历史周期且启动时间较长的应用,可以考虑预测扩容。

而对于一个真正成熟的云架构,Autoscaling从来不是单独工作的魔法按钮。它需要和负载均衡、健康检查、数据库扩展、缓存、消息队列、存储以及应用本身的无状态设计配合起来。

最终,Autoscaling的价值也不是让服务器数量变得越多越好,而是在用户真正需要计算能力的时候及时提供,在需求下降以后及时释放。对企业,这意味着少一点闲置资源;对用户,则意味着在流量高峰到来时,后台还有足够的计算能力接住请求。

云计算最有意思的地方就在这里:真正先进的系统,并不是永远拥有最多的服务器,而是能够知道什么时候需要更多服务器,以及什么时候已经不需要了。

喜欢这篇报道?

使用下面的功能,方便以后继续阅读和分享 MNewsTV

设为 Google 新闻首选来源 让 Google 新闻优先显示 MNewsTV 的最新报道 ›
★ 我的收藏 查看已经收藏的文章
关于文章收藏 收藏不需要注册帐号,收藏信息仅保存在当前浏览器中。 删除收藏请进入「我的收藏」进行管理。
分享这篇报道

分享 Facebook | X | WhatsApp | LinkedIn

捐助(Paypal): https://www.paypal.me/observeccp
订阅中国观察电报 Telegram : https://t.me/s/ObserveCCP