谷歌App-Engine memcached非常慢

时间:2015-09-22 19:29:49

标签: performance google-app-engine memcached latency

我最近推出了使用AppEngine后端运行的iPhone / Android应用程序。这是我在生产中使用AppEngine的第一次经历。

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

是的,我有优待的空间,但我不明白

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

  2. 为什么对memcached的调用需要慢到500毫秒。 (通常它快10倍)。我正在使用NDB和1GB专用的memcached。增加到5GB没有效果。

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

    谢谢

    Latency Requests per second Example RPC

2 个答案:

答案 0 :(得分:1)

我忘了更新这个....我记得这个问题是由我自己创建数据存储区引起的。基本上,没有很好的分布式密钥引入了“热板”问题。一旦我停止创建自己的密钥并让AppEngine创建它们,问题似乎就解决了。

答案 1 :(得分:0)

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

您无法在同一缓存键中存储大于1Mo的对象大小。您可以使用Titan for App Engine使用sharded memcache将缓存密钥划分为多个其他缓存密钥。这是透明的。

我希望它会对你有所帮助。