我为我的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。
答案 0 :(得分:2)
存在实例类以支持缩放。具有更多RAM和更快CPU的实例可以处理比功能较弱的实例更多的并发请求。因此,升级实例允许应用程序处理更多流量,但是除非请求使用大量RAM或受CPU限制,否则对单个请求时间的影响可能很小。
在App Engine中,数据存储区查询受IO限制,因为它们通过网络发送请求。进行大量顺序数据存储调用会增加响应时间。您可以使用云控制台跟踪工具或Appstats来查看您的请求所进行的远程过程调用。使用ndb's asynchronous operations可减少应用在数据存储区呼叫上等待的时间,并tasklets来平衡数据存储区读取。