我正在尝试在GAE中优化页面加载的性能,而且我为服务该页面花了这么长时间而感到有点难过。
当我第一次运行appstats时,我发现该页面正在调用大约500-600个RPC调用。我现在把它降到了3。
但是,我仍然在App Stats中看到了大量的额外时间。我网站上的另一个页面(使用相同的django框架+模板)在大约60ms内加载,对一个小数据集进行小型查询。
问题是,这是什么开销,我应该在哪里找麻烦点?
请求中的数据有大约350条记录,每条记录大约有30个属性。我很酷,数据调用本身占用了数据存储api时间,但这是我感到困惑的另一次。数据确实逐步通过一个巨大的迭代器,我现在使用了大部分请求的fetch来保持RPC调用,并确保内存不是在内存中而是被查询。
慢速请求 - 查看所有额外的蓝色
快速请求,RPC蓝色与整体蓝色匹配
修改
好的,所以我创建了一个名为FastModel的新模型,并将页面所需的最小项目复制到它,因此它可以尽快加载,并且它确实产生了很大的不同。似乎模型上的某些东西会减慢它的速度。将进一步调查。
答案 0 :(得分:1)
反序列化350条记录,特别是大型记录需要很长时间。这可能占用了大部分执行时间。