私のメモリ使用量は時間とともに増加し、Djangoの再起動はユーザーに親切ではありません。
メモリ使用量のプロファイリングを行う方法がわかりませんが、測定を開始する方法に関するいくつかのヒントが役立つでしょう。
大きな利益を生み出すことができるいくつかの簡単なステップがあると感じています。「デバッグ」が「False」に設定されていることを確認することは、明らかに重要です。
誰かが他の人を提案できますか?トラフィックの少ないサイトでのキャッシングはどの程度改善されますか?
この場合、私はApache 2.xでmod_pythonを実行しています。mod_wsgiは少しスリムであると聞いたことがありますが、大幅な向上が見込めない場合は、この段階で切り替えるのは難しいでしょう。
編集:これまでのヒントをありがとう。メモリを消費しているものを見つける方法はありますか?Pythonメモリプロファイリングのガイドはありますか?
また、前述のように、mod_wsgiに切り替えるのが難しいいくつかのことがあるので、その方向に進む前に期待できる利益について考えたいと思います。
編集:カールは、ここに読む価値がある少し詳細な返信を投稿しました:Djangoデプロイメント:Apacheのオーバーヘッドの削減
編集: グラハム・ダンプルトンの記事は、MPMおよびmod_wsgi関連のもので私が見つけた中で最高です。ただし、アプリ自体のメモリ使用量のデバッグに関する情報を誰も提供できなかったことにはかなりがっかりしています。
最終編集:まあ、私はこれをWebfactionと話し合って、Apacheの再コンパイルを支援できるかどうかを確認してきました。
「MPMワーカー+ mod_wsgi設定に切り替えることで、多くのメリットが得られるとは思いません。20MB程度節約できると思いますが、それ以上ではないでしょう。」
そう!これにより、元の質問に戻ります(私はまだ賢明ではありません)。問題がどこにあるのかを特定するにはどうすればよいですか?最適化する必要がある場所を確認するためのテストなしに最適化しないことはよく知られた格言ですが、Pythonのメモリ使用量の測定に関するチュートリアルはほとんどなく、Djangoに固有のものはありません。
皆様のご協力に感謝しますが、この質問はまだオープンだと思います!
別の最終編集;-)
私はdjango-usersリストでこれを尋ね、いくつかの非常に役立つ返信を得ました
正直なところ、これまでの最後の更新!
これはリリースされたばかりです。:まだ最善の解決策かもしれないPymplerでのプロファイリングDjangoのオブジェクトのサイズやメモリ使用量