新しいアプリケーションを開発しています。私はまだ開発段階です。ただし、apacheを再起動するたびに、アプリケーションは140MBのメモリキャップを取得します。私の他の(より古くてより複雑な)アプリケーションは40MBを取得します。これにより、webfactionはメモリ使用量に関するメッセージを送信します。Apacheはデフォルトで2つのプロセスで開始し、300MBを超えるメモリ使用量になります。私はこれを次のように1つのプロセスに変更しました:
MaxSpareThreads 3
MinSpareThreads 1
ServerLimit 1
SetEnvIf X-Forwarded-SSL on HTTPS=1
ThreadsPerChild 5
WSGIDaemonProcess tipleaders processes=1 threads=6 python-path=/home/<<USERNAME>>/webapps/<<WEBSITE>>:/home/<<USERNAME>>/webapps/<<WEBSITE>>/lib/python2.7:/home/<<USERNAME>>/webapps/<<WEBSITE>>/<<WEBSITE>> maximum-requests=10
要求ごとにメモリ使用量が増えるわけではありません(したがって、メモリリークの問題ではないと思います)。
非常に高いメモリキャップ(〜150MB)から始まります。
何かアイデアはありますか?
PS:これはviews.py
http://dpaste.com/744785/での私の主なインポート
です。他のいくつかのインポートはここにあります:http://dpaste.com/744786/
models.py
、urls.py
そしてsettings.py
ここにあります:http: //dpaste.com/744787/
PS2の編集:私のサイト全体がSSLを使用しています
リクエストに応じて編集してください。プロジェクトはメディアを扱っていません。画像も動画もありません。これは、一致する2つのxmlファイル(イベントと結果)を解析してユーザーに表示する単純なWebサイトです。サイトへの広告はありません(アフィリエーターから1つだけ)。大きな画像は一切ありません。開発段階のサイトのユーザーは10人だけで、データベースに挿入されているスポーツイベントは5000人以下です。
編集:django-devserver(https://github.com/dcramer/django-devserver)をインストールしました
そしてこれは私が得るものです:
>python manage.py runserver
[profile] heap size is 7.9 MB
[profile] heap size is 7.9 MB
[sql] (219ms) 2 queries with 0 duplicates
[profile] Total time to render was 0.14s
[profile] 5.3 MB allocated, 13.0 KB deallocated, heap size is 13.3 MB
[sql] (219ms) 2 queries with 0 duplicates
[profile] Total time to render was 1.08s
[profile] 404.8 KB allocated, 18.6 KB deallocated, heap size is 13.7 MB
[12/May/2012 12:42:38] "GET / HTTP/1.1" 200 146587 (time: 6.93s; sql: 219ms (2q)
Apacheがアプリケーションに割り当てられた140MBで始まる理由についてはまだ戸惑っています。