如何指示AppEngine在标准环境中保持一个实例存活



我有一个低流量的web和移动Flutter应用程序,它使用AppEngine服务作为后端。我从日志中注意到实例自动关闭,应用程序请求开始失败。由于一些奇怪的原因,如果我开始从桌面浏览器查询应用程序,AppEngine实例再次启动,一切正常。

我尝试使用

缩放设置
runtime: python39
env: standard
instance_class: F1
automatic_scaling:
max_instances: 1
min_instances: 1

我希望通过这些设置实例的数量总是为1,但我仍然看到相同的行为:应用程序在非活动时关闭。

我检查了应用程序,我使用的环境是standard

我如何实现一个简单的部署与1活动实例所有的时间?

我现在不想使用任何花哨的缩放功能。这个应用程序非常简单,一个实例就足够了。

是否启用了预热请求?文档说

警告:要使此功能正常工作,您必须确保启用了预热请求,并且您的应用程序处理预热请求。

另外,试着看看你是否可以减少启动时间,当你的应用程序接收到一个新的实例请求时,只导入库/初始化的东西,当他们需要,而不是在你的模块的开始。如果要在云存储中存储内容,只在实际需要存储内容时才导入云存储库并初始化它,而不是在加载python文件时才导入云存储库

根据文档1,您可以使用min_instance在没有任何流量传入的情况下保持实例活动,例如,如果您希望在没有流量的情况下保持实例活动10分钟,那么您可以像这样在app.yaml文件

中设置10分钟的空闲时间
runtime: python39
env: standard
instance_class: F1
automatic_scaling:
max_instances: 1
min_instances: 1
idle_timeout: 10m

你也可以在文档2中检查min_idle_instances,在那里你定义了你想要保持存活的实例数量。这些实例保持空闲状态,并在后台运行以接收流量。

请注意,它可能会增加你的每月发票,因为这些实例是活的,无论他们是否正在接收流量。

相关内容

  • 没有找到相关文章

最新更新