如何让App Engine避免冷启动?

时间:2018-11-13 23:33:31

标签: google-app-engine

即使已经有实例在运行,我仍然会在某些请求上遇到冷启动。

我认为GAE会在后台启动某些实例,并将它们添加到仅在实例启动后才为请求提供服务的活动实例池中。不是吗?有没有一种配置GAE的方法?

相反,似乎某些请求正在等待新实例的整个启动过程,这可能需要长达10秒的时间,而使用现有实例时,仅会在几秒钟内满足所有基准流量

更新: 这是我的app.yaml配置:

runtime: nodejs10
env: standard
instance_class: F1
handlers:
  - url: '.*'
    script: auto
automatic_scaling:
  min_instances: 1
  max_instances: 3

1 个答案:

答案 0 :(得分:0)

您要寻找的是Warmup requests

  

预热请求是一种特定类型的加载请求   在任何活动之前,将应用程序代码提前放入实例   提出要求。手动或基本扩展实例没有收到   /_ah/warmup请求。

并且来自Configuring warmup requests

  

将应用的代码加载到新实例中可能会导致loading requests。加载请求可能导致请求延迟增加   为您的用户使用,但您可以使用 warmup避免这种延迟   请求。预热请求将您的应用代码加载到新实例中   在任何实时请求到达该实例之前。

并非100%完美-存在一些局限性,但这是次要的选择。

配置预热请求意味着: