为appengine app选择实例类和自动缩放

时间:2017-06-15 05:42:03

标签: python-2.7 google-app-engine

我为我的appengine app尝试了一些不同的设置,但结果很少甚至没有。主要是我将实例类从F1更改为F2,我所经历的只是更高的成本和没有性能提升。现在我恢复了以下设置

api_version: 1
threadsafe: true
module: default
instance_class: F2
automatic_scaling:
  min_idle_instances: 5
  max_idle_instances: automatic
  min_pending_latency: automatic
  max_pending_latency: 30ms
  max_concurrent_requests: 50

default_expiration: "14d 5h"

以上看起来不错吗?将实例类从F1更改为F2时,为什么不能获得性能提升?我确实在memcache和数据存储区往返之间遇到了很好的性能差异,因此似乎我加速我的应用程序响应时间的唯一机会就是更多地使用memcache。

1 个答案:

答案 0 :(得分:2)

存在实例类以支持缩放。具有更多RAM和更快CPU的实例可以处理比功能较弱的实例更多的并发请求。因此,升级实例允许应用程序处理更多流量,但是除非请求使用大量RAM或受CPU限制,否则对单个请求时间的影响可能很小。

在App Engine中,数据存储区查询受IO限制,因为它们通过网络发送请求。进行大量顺序数据存储调用会增加响应时间。您可以使用云控制台跟踪工具或Appstats来查看您的请求所进行的远程过程调用。使用ndb's asynchronous operations可减少应用在数据存储区呼叫上等待的时间,并tasklets来平衡数据存储区读取。