Python Google应用程序引擎标准环境的max_num_实例

Python Google应用程序引擎标准环境的max_num_实例,python,google-app-engine,Python,Google App Engine,目前,我正在使用Google App Engine标准环境(Python)运行一个应用程序 在免费配额24小时每日重置之前只有1或2小时,我将用完所有28个实例小时 我的交通模式大部分时间都很低,除了晚上8小时左右会很高 我的app.yaml几乎可以回到所有默认设置 application: my-webapp version: 1 runtime: python27 api_version: 1 threadsafe: false 我仍然希望依靠自动缩放。我希望降低我的应用程序引擎性能一点,

目前,我正在使用Google App Engine标准环境(Python)运行一个应用程序

在免费配额24小时每日重置之前只有1或2小时,我将用完所有28个实例小时

我的交通模式大部分时间都很低,除了晚上8小时左右会很高

我的
app.yaml
几乎可以回到所有默认设置

application: my-webapp
version: 1
runtime: python27
api_version: 1
threadsafe: false
我仍然希望依靠
自动缩放
。我希望降低我的应用程序引擎性能一点,以换取不收取每日费用

在灵活的环境中,我意识到有一个配置,我们可以在其中指定

我想在我的应用程序引擎标准环境中限制实例的最大数量。但是,我在标准环境中找不到
max\u num\u实例
config

我在标准环境的
自动缩放
下找到的有效配置是

  • 最大并发请求数
  • 最大空闲实例数
  • 最大挂起延迟
  • 最小空闲实例数
  • 最小挂起延迟
我希望利用所有28个实例小时,性能略有下降,但不产生每日费用:)

我可以知道,我应该开始微调哪个配置参数吗


更新 我试过了

automatic_scaling:
  max_idle_instances: 1
  min_idle_instances: 0
  max_concurrent_requests: 80
然而,这似乎让事情变得更糟

创建了5个实例,但没有一个处于活动状态

现在,我只提供了2k请求,但已经消耗了16.8个实例小时


与我的另一个应用相比,它提供更高的流量(但更低的延迟)。它总是只有一个实例。到目前为止,只消耗了8.43个实例小时

我的高流量应用程序yaml文件中没有任何特殊参数。因此,我不确定它们产生的实例数量为什么会有差异。

如果你的应用程序支持它(并非所有应用都支持!-这取决于它们的编码方式),请尝试设置
threadsafe:true
,允许一个实例并行处理多个请求,这将减少总体请求延迟,从而帮助GAE autoscaler决定启动更少的实例。如果这样做有效,您还可以尝试调整相关的
max\u concurrent\u请求

另一件要尝试的事情是通知autoscaler,您的应用程序可以通过
min_pending_latency
max_pending_latency
容忍更高的请求延迟。相关的:

max\u idle\u instances
设置为1(如果可以,甚至可以设置为0),以防止autoscaler启动实际上对服务流量没有多大帮助的空闲实例。看


最后,如果你真的想给你的实例数量设置一个硬上限,你可以切换到基本的缩放,它有一个
max\u实例
配置选项。但请注意,如果突然出现高请求负载,这可能会严重降低用户体验。

是的。更改为
threadsafe:true
会有所帮助。以前,我有一些CGI处理程序(非webpy),它不支持
threadsafe:true
。在我将它们全部转换为webpy并使用
threadsafe:true
之后,它就解决了我的问题。谢谢
automatic_scaling:
  max_idle_instances: 1
  min_idle_instances: 0
  max_concurrent_requests: 80