Google app engine 如何限制GAE上的实例生成(自动缩放)?
我注意到最近在GAE上生成的实例激增 在我的app.yaml中,我明确定义了一次最多创建两个实例Google app engine 如何限制GAE上的实例生成(自动缩放)?,google-app-engine,Google App Engine,我注意到最近在GAE上生成的实例激增 在我的app.yaml中,我明确定义了一次最多创建两个实例 application: xxx version: 1-6-0 runtime: python27 api_version: 1 instance_class: F2 automatic_scaling: max_idle_instances: 2 threadsafe: true 然而,仪表板显示了4个实例,账单也在上涨。我怎样才能停止这种疯狂呢?:) 最大空闲实例数设置空闲实例的最大数量,
application: xxx
version: 1-6-0
runtime: python27
api_version: 1
instance_class: F2
automatic_scaling:
max_idle_instances: 2
threadsafe: true
然而,仪表板显示了4个实例,账单也在上涨。我怎样才能停止这种疯狂呢?:)
最大空闲实例数设置空闲实例的最大数量,即等待流量峰值的实例。从您的屏幕截图来看,似乎所有实例都获得了流量,所以我觉得还可以。如果您想控制在GAE上的支出,您可以设置每日最大预算。max\u idle\u实例 App Engine应维护的最大空闲实例数 对于此版本 目前似乎无法设置自动缩放模块的最大实例数。正如@DoIT所建议的,您可以设置支出限额,但是请记住以下几点 当应用程序超出其每日开支限制时,任何操作 其自由配额已用尽,则失败 因此,如果您需要以某种方式控制实例总数并保持服务运行,我看到了以下可能性
max\u instances
参数
min_pending_latency
和max_concurrent_requests
参数(必须启用多线程)
你可以找到更多的细节
我对此做了很多研究 F实例将自动缩放。没有办法限制这一点。因此,将实际工作从前端实例转移到后端实例(B1或B2)是有意义的。后者提供另外8小时的免费配额 真正的挑战是重新设计应用程序,以使用默认的app.yaml进行web静态,使用mobile.yaml进行移动请求,并使用较短的
min_pending_latency
和backend.yaml(B2)实例来处理任务和计算
所有这些都需要通过dispatch.yaml正确路由。在这个文件中,您可以指定哪个模块将有效地处理哪个url端点
理解它的最好方法是看GAE的这篇优秀文章:
在远程服务器上尝试任何操作之前,先让它在本地环境中工作是有意义的
dev_appserver.py dispatch.yaml app.yaml mobile.yaml backend.yaml
此外,本官方文件对上述部分内容进行了更详细的解释
这非常令人印象深刻,GAE可以实现这一点。您的一些请求可能需要太长时间才能完成,从而导致生成新实例。你可以通过为min_pending_latency属性设置一个高值来解决这个问题(我被告知,但我自己还没有尝试过)。这可能会稍微影响您的延迟,但也会限制实例生成的速率。这是一个很好的解决方案,但是对于F2实例是否可以这样做?根据文档,F系列始终是自动缩放的。似乎
在使用手动缩放时,B1、B2、B4、B4_1G和B8实例类是可用的。
矛盾的是,它只有8个空闲小时配额。不幸的是,F类实例不可用于基本缩放。