2

我有一个带有约 40 GB 数据库的 Google App Engine 项目,但使用 NDB 的读取性能很差。我注意到我的内存缓存大小(在仪表板上列出)只有大约 2 MB。我希望 NDB 隐含地更多地使用 memcache 来提高性能。

有没有办法调试 NDB 的 memcache 使用情况?

4

2 回答 2

6

这个问题的表述相当糟糕——读取性能差的原因有很多,大多数是由于应用程序编写不佳,但您没有告诉我们有关该应用程序的任何信息。

唯一可以回答的问题是最后一个问题:“有没有办法调试 NDB 的 memcache 使用情况?” 除了 Sologoub 的指针之外,我还建议使用 Appstats 来查明是否确实进行了预期的 memcache 调用。阅读 NDB 源代码,尤其是 context.py 中的 get() 和 put(),也可能会有所帮助。

于 2012-07-21T20:24:37.417 回答
1

此页面很好地解释了 NDB 缓存的工作原理: https ://developers.google.com/appengine/docs/python/ndb/cache

我要检查的第一个地方是策略设置,以确保您实际上是在告诉 NDB 缓存您想要缓存的内容:https ://developers.google.com/appengine/docs/python/ndb/cache#policy_functions

于 2012-07-20T17:31:53.620 回答