谷歌应用引擎 - 自动扩展与始终在实例?
将GAE用于全新应用程序最令人讨厌的事情之一是,如果没有人在15分钟内访问您的服务器,则必须处理被触发的实例。由于该应用程序是新的,或者只有很少的用户,因此对于一些不知道实例正在“启动”的用户来说,将会有一段时间的延迟。
据我所知,您根据文档有以下选项:
使用手动扩展
并将实例数设置为 1
。
当您使用 时,无论您将其设置为多少个实例,都将拥有 - 不多也不少。这显然是低效的,因为您可能会为未使用的实例付费,并且随着流量的增加/减少,实例不会自动添加/删除manual-scaling
使用基本缩放
并将空闲超时
设置为 24 小时或 48 小时。
只要有人在该时间段内至少查询一次您的 API,您的实例就会保持运行。
在启用最小空闲实例
和预热请求的情况下使用自动扩展
。
这不能按预期工作。根据这些文档:
如果你的应用未提供任何流量,则对应用的第一个请求将始终是加载请求,而不是预热请求。
这并不能解决我们的问题,因为如果零个实例正在运行,那么首先就没有什么可以预热的。因此,您仍然会在第一个请求上获得延迟。
我希望具有的预期效果是始终运行一个实例,然后在流量增加时从那里向上扩展(当然,还可以缩减,但永远不会低于一个实例)。这就像自动扩展,但始终有1个实例在运行。
这在GAE中可能吗?还是我错过了什么?
现在,我的临时解决方案是将我的应用程序设置为具有 1 个实例,以便至少我的应用程序可供新用户使用。manual-scaling