You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何防止Google App Engine上的Strapi实例进入休眠状态?

解决Google App Engine上Strapi实例休眠的配置方案

以下是无需ping操作,仅通过GAE配置即可让Strapi实例持续运行的方法:

1. 采用手动扩缩容模式(Standard环境)

手动扩缩容会固定运行指定数量的实例,完全避免闲置休眠问题。在app.yaml中添加如下配置:

instance_class: F2  # 根据业务需求选择合适的实例类,如F1/F2/F3
manual_scaling:
  instances: 1  # 固定运行1个实例,可根据流量调整数量

配置后,GAE会始终维持设定数量的实例运行,不会因无请求而关闭。

2. 配置基础扩缩容的超长闲置超时(Standard环境)

如果需要保留一定的弹性扩缩容能力,可使用基础扩缩容并设置超长的闲置超时时间,避免实例被自动回收:

instance_class: F2
basic_scaling:
  max_instances: 2  # 最大实例数,按需调整
  idle_timeout: 24h  # 设置为24小时或更长,大幅降低闲置休眠概率

该模式下,实例在闲置超过设定时间后才会关闭,基本可满足持续运行的需求。

3. 固定Flex环境的最小实例数(Flexible环境)

若使用App Engine Flexible环境,直接配置自动扩缩容的最小实例数为1,确保始终有一个实例在线:

runtime: nodejs  # Strapi基于Node.js,对应runtime版本按需调整
env: flex
automatic_scaling:
  min_num_instances: 1
  max_num_instances: 2  # 按需调整最大实例数

Flex环境下,设置min_num_instances: 1后,GAE会持续维持至少一个实例运行,不会因闲置缩容至0。

4. 启用预热请求(辅助优化)

虽然无法直接阻止休眠,但启用预热请求可大幅缩短实例唤醒后的响应时间,提升用户体验。在app.yaml中添加:

inbound_services:
- warmup

GAE会在实例启动前自动发送预热请求,提前完成Strapi、nginx等组件的初始化流程,避免首次请求等待过长。

注意事项

  • 上述配置会增加资源消耗与计费成本,需根据业务场景(生产/开发)权衡选择;
  • 确保app.yaml配置与你的GAE环境(Standard/Flex)匹配,避免配置无效。

内容的提问来源于stack exchange,提问作者Shahinoor Rahman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 06:55:21