为 appengine 应用选择实例类和自动扩展



我为我的appengine应用程序尝试了一些不同的设置,但结果很少或没有结果。主要是我将实例类从 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。

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

在 App Engine 中,数据存储查询受 IO 限制,因为它们通过网络发送请求。 进行大量顺序数据存储调用会增加响应时间。 您可以使用云控制台跟踪工具或 Appstats 查看您的请求正在进行的远程过程调用。 使用ndb的异步操作来减少应用程序等待数据存储调用所花费的时间,并使用tasklet并行处理数据存储读取。

最新更新