几周前我问了这个问题。今天,我实际上已经编写并发布了一个标准的 Django 应用程序,即一个由Google CloudSQL支持的全功能关系数据库支持(因此也是全功能 Django 管理员) 。唯一一次我不得不偏离标准的 Django 方式是发送电子邮件(必须以 GAE 方式进行)。我的设置是GAE 1.6.4
,,使用以下内容:Python2.7
Django 1.3
app.yaml
libraries:
- name: django
version: "1.3"
但是,我确实需要您提出明确的可操作步骤,以改善此 Django 应用程序冷时初始请求的响应时间。我webapp2
在 GAE 上有一个简单的网站,它不会访问数据库,并且在冷时响应时间为1.56s
. Django 一个,当冷count(*)
时,用 2 个查询(对每个包含少于 300 行的表的两个查询)命中数据库,响应时间为10.73s
!不鼓励主页;)
想到的事情是删除middleware
我不需要的类和其他特定于 Django 的优化。然而,从 GAE 的角度来看,改善事物的技巧也会非常有用。
注意我不希望这成为关于在 GAE 上选择 Django 的优点的讨论。我可以提一下,我个人的 Django 专业知识,以及由此产生的开发效率,确实对采用 Django 而不是其他框架产生了很大影响。此外,使用 CloudSQL,很容易摆脱 GAE(希望不会!),因为 Django 代码只需很少(或无需)修改即可在其他任何地方工作。可以在此处和此处找到有关此类主题的相关讨论。