在分析我的 python2.7 App Engine 应用程序时,我发现将从 ndb 获取的记录反序列化为 python 对象平均需要 7 毫秒。(在pb_to_query_result
及其pb_to_entity
后代中——这不包括查询数据库和接收原始记录的 RPC 时间。)
这是预期的吗?我的模型有六个属性,其中一个是LocalStructuredProperty
具有 15 个属性的,其中还包括一个重复的StructuredProperty
的四个属性,但我认为平均对象应该有少于 30 个属性。
预计会这么慢吗?我想获取几千条记录来做一些简单的聚合分析,虽然我可以容忍一定的延迟,但超过 10 秒是个问题。我可以做些什么来重组我的模型或架构以使其更可行?(除了定期预先计算我的聚合分析并缓存结果的明显解决方案。)
如果它这么慢是不寻常的,那么知道这一点会很有帮助,这样我就可以去寻找我可能正在做的事情会损害它。