除了RPC调用之外,我的App Engine程序可能需要这么长时间

时间:2011-11-29 02:54:29

标签: java python google-app-engine google-cloud-datastore

我正在尝试在GAE中优化页面加载的性能,而且我为服务该页面花了这么长时间而感到有点难过。

当我第一次运行appstats时,我发现该页面正在调用大约500-600个RPC调用。我现在把它降到了3。

但是,我仍然在App Stats中看到了大量的额外时间。我网站上的另一个页面(使用相同的django框架+模板)在大约60ms内加载,对一个小数据集进行小型查询。

问题是,这是什么开销,我应该在哪里找麻烦点?

请求中的数据有大约350条记录,每条记录大约有30个属性。我很酷,数据调用本身占用了数据存储api时间,但这是我感到困惑的另一次。数据确实逐步通过一个巨大的迭代器,我现在使用了大部分请求的fetch来保持RPC调用,并确保内存不是在内存中而是被查询。

慢速请求 - 查看所有额外的蓝色

Slow Request

快速请求,RPC蓝色与整体蓝色匹配

Fast Request

修改

好的,所以我创建了一个名为FastModel的新模型,并将页面所需的最小项目复制到它,因此它可以尽快加载,并且它确实产生了很大的不同。似乎模型上的某些东西会减慢它的速度。将进一步调查。

1 个答案:

答案 0 :(得分:1)

反序列化350条记录,特别是大型记录需要很长时间。这可能占用了大部分执行时间。