Google App-Engine memcached 极慢

Google App-Engine memcached extremely slow

我最近为 iPhone/Android 运行 AppEngine 后端启动了我的应用程序。这是我第一次在生产环境中使用 AppEngine。

随着流量的增加,我开始遇到严重的延迟问题。目前最小空闲实例为1,max_pending_latency为1s。

是的,我这边有优化的空间,但是我不明白

  1. 为什么延迟与 request/sec、流量、memoryUsage、memcacheUsage 等等无关。我不明白为什么 9 月 21 日没有明显的延迟。

  2. 为什么调用memcached需要慢到500ms。 (通常它会快 10 倍)。我正在使用 NDB 和 1GB 专用内存缓存。增加到 5GB 没有任何效果。

这就是 AppEngine 的工作原理吗?我想得到你的见解。

谢谢

当我们在同一个内存缓存键下存储大量实体时,我们经历了很长时间的反序列化。如果您存储大量具有大量结构化属性的实体,可能需要很长时间。

您不能在同一缓存键中存储超过 1Mo 的对象大小。您可以使用 Titan for App Engine to divide your cache key in several others cache key using the sharded memcache。是透明的。

希望对你有所帮助

我忘了更新这个....我记得这个问题是我自己创建数据存储密钥引起的。基本上,没有很好地分配密钥引入了 "hot tablet" 问题。一旦我停止创建自己的密钥并让 AppEngine 创建它们,问题似乎就解决了。