Google App-Engine memcached 极慢
Google App-Engine memcached extremely slow
我最近为 iPhone/Android 运行 AppEngine 后端启动了我的应用程序。这是我第一次在生产环境中使用 AppEngine。
随着流量的增加,我开始遇到严重的延迟问题。目前最小空闲实例为1,max_pending_latency为1s。
是的,我这边有优化的空间,但是我不明白
为什么延迟与 request/sec、流量、memoryUsage、memcacheUsage 等等无关。我不明白为什么 9 月 21 日没有明显的延迟。
为什么调用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 创建它们,问题似乎就解决了。
我最近为 iPhone/Android 运行 AppEngine 后端启动了我的应用程序。这是我第一次在生产环境中使用 AppEngine。
随着流量的增加,我开始遇到严重的延迟问题。目前最小空闲实例为1,max_pending_latency为1s。
是的,我这边有优化的空间,但是我不明白
为什么延迟与 request/sec、流量、memoryUsage、memcacheUsage 等等无关。我不明白为什么 9 月 21 日没有明显的延迟。
为什么调用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 创建它们,问题似乎就解决了。