我將我的第一個Django項目從DjangoEurope移到Webfaction,這開始了一個看起來像內存泄漏的問題。隨着服務器進程的每次請求內存使用量增加大約500kb。它永遠不會停止。這一直持續到Webfaction因爲使用太多的內存而殺死它。Django的內存使用量隨着每個請求而上漲
當我在瀏覽器中刷新Django的管理界面時,我可以清楚地看到這一點(儘管每個頁面都會發生這種情況,但不僅僅是管理界面 - 我雖然管理界面會是一個很好的測試用例,因爲沒有我代碼直接在那裏)。隨着每個瀏覽器重新加載內存使用量上升幾百千字節。
I測試使用由Webfaction建議的命令的存儲器:
ps -u publica -o rss,etime,pid,command
進一步瞭解我的設置:
- Django的1.1(穩定)
- 默認Webfaction Django的設置使用Apache和mod_wsgi
DEBUG
設置爲False
- 來自Webfaction的MySQLdb 1.2.2,但聽到它有一些問題,我試過版本1.2.3c。沒有幫助。
編輯:我創建了一個空的Django項目 - Django缺省的配置加上django.contrib.admin
和新鮮的空數據庫(都與MySQL和PostgreSQL試過)。我開始在瀏覽器中重新加載Django admin,並觀看內存使用情況。起初我看到問題的發生 - 內存使用量在每次重新加載後都會增加。但隨後穩定並停止增長。這與我的原始項目在Django Europe上的表現一致。不幸的是,在Webfaction中,它似乎永遠不會穩定(或者至少不在我的賬戶可用的內存限制內)。有什麼建議?
如果你在模型中做了一些漏洞,它肯定會顯示在管理員中,所以我不確定你是否已經將你的代碼視爲罪魁禍首。對於它的價值,我已經在Webfaction上運行了一年多的Django應用程序,並沒有像這樣的問題。 – 2010-02-19 05:36:59