【发布时间】:2015-12-19 22:17:38
【问题描述】:
我最近推出了运行 AppEngine 后端的 iPhone/Android 应用。这是我第一次在生产环境中使用 AppEngine。
随着流量的增加,我开始遇到严重的延迟问题。目前最小空闲实例为1,max_pending_latency为1s。
是的,我这边还有优化的空间,但是我不明白
为什么延迟与请求/秒、流量、memoryUsage、memcacheUsage 等无关。我不明白为什么 9 月 21 日没有明显的延迟。
为什么对 memcached 的调用需要慢至 500 毫秒。 (通常它快 10 倍)。我正在使用 NDB 和 1GB 专用 memcached。增加到 5GB 没有效果。
这仅仅是 AppEngine 的工作原理吗?我想听听你的见解。
谢谢
【问题讨论】:
-
您可能想在 freenode 上的#appengine 频道或邮件列表中提出这个问题。您的 rpc 图表显示了一组同步的 ndb 事务,但 memcache 部分不应该花这么长时间。
-
据我所知,在 Memcache 中可能会看到这样的时间。除非使用专用(付费)Memcache,否则无法保证性能时间。 source
-
@Nick 我已经在使用专用的 Memcache。听起来好像出了点问题。
-
对 RPC 调用进行分组是提高性能的好主意。我还需要澄清一下,专用的memcache实际上只有存储空间的保证。据我在文档中看到的,波动性和延迟没有被提及。 [[1]](cloud.google.com/appengine/docs/developers-console/#memcache) [[2]](cloud.google.com/appengine/features/#memcache)
-
您在处理 300+ms 或 500+ms 的请求时使用的数据大小是多少?花费更少时间的请求有多大:它们是小得多还是大致相同?
标签: performance google-app-engine memcached latency