私は数週間前にこの質問をしました。今日、私は実際に標準のDjangoアプリケーションを作成してリリースしました。つまり、 Google CloudSQLによって有効化された完全に機能するリレーショナルDBに裏打ちされた(したがって完全に機能するDjango管理者)。標準のDjangoの方法から逸脱しなければならなかったのは、電子メールを送信することだけでした(GAEの方法で行う必要がありました)。私のセットアップは、、でGAE 1.6.4
、Python2.7
以下Django 1.3
を使用していますapp.yaml
:
libraries:
- name: django
version: "1.3"
ただし、このDjangoアプリがコールドのときに、最初のリクエストの応答時間を改善するための明確な実行可能な手順を提案する必要があります。私はGAEに簡単なwebapp2
Webサイトを持っていますが、これはDBにヒットせず、寒いときの応答時間はです1.56s
。Djangoは、コールドcount(*)
時に2つのクエリ(それぞれ300行未満のテーブルに対する2つのクエリ)でDBにヒットし、応答時間は10.73s
!ホームページを奨励していません;)
頭に浮かぶのは、middleware
不要なクラスやその他のDjango固有の最適化を削除することです。ただし、GAEの観点からも改善するためのヒントは非常に役立ちます。
NB私はこれがGAEでDjangoに行くことのメリットについての議論になることを望んでいません。私の個人的なDjangoの専門知識と、その結果としての開発の生産性は、他のフレームワークとは対照的に、Djangoの採用にかなりの影響を及ぼしたと言えます。さらに、CloudSQLを使用すると、Djangoコードはほとんど(またはまったく)変更せずに他の場所でも機能するため、GAEから簡単に移行できます(できればそうではありません!)。このようなトピックに関する関連する議論は、こことここにあります。