减少Django内存的使用。低挂水果?

问题:

我的内存使用量随着时间的推移而增加,重新启动Django对用户来说是不好的。
我不确定如何分析内存使用情况,但有关如何开始测量的一些提示将会很有用。
我有一种感觉,有一些简单的步骤可以带来很大的收获。确保“调试”设置为“假”是一个明显的大笨蛋。
有人可以建议别人吗?在低流量网站上缓存多少改进?
在这种情况下,我使用mod_python在Apache 2.x下运行。我听说mod_wsgi有点精简,但在这个阶段切换是很棘手的,除非我知道收益会很大。
编辑:谢谢你的提示到目前为止。有什么建议如何发现什么用的内存?有没有指导Python内存分析?
同样如上所述,有一些事情会使它变得难以切换到mod_wsgi,所以我想知道在这个方向上向前推进之前可以获得的收益。
 Edit:卡尔在这里发表了一个稍微更详细的回复,值得一看:Django Deployment: Cutting Apache’s Overhead
 Edit: Graham Dumpleton’s article是我在MPM和mod_wsgi相关内容中找到的最好的。我相当失望,没有人可以提供任何有关调试应用程序本身内存使用的信息。
 Final Edit:我已经在Webfaction上讨论了这一点,看看他们是否可以协助重新编译Apache,这是他们的话。

所以!这让我回到我原来的问题(我仍然没有什么更明智的)。如何确定问题在哪里?这是一个众所周知的格式,您不需要进行优化就可以进行优化,无需查看需要优化的位置,但是在测量Python内存使用方面的教程方面并没有什么特别的。
感谢大家的帮助,但我认为这个问题仍然是开放的!
 另一个最后的修改;-)
我在django用户列表中问了这个,并得到了一些very helpful replies
 老实说最后一次更新!
这刚刚发布。可能是最好的解决方案:Profiling Django object size and memory usage with Pympler

回答:

确保您不保留对数据的全局引用。这样可以防止python垃圾收集器释放内存。
不要使用mod_python。它在apache中加载一个解释器。如果需要使用apache,请改用mod_wsgi。切换不是棘手的。这很容易mod_wsgi比脑死亡mod_python容易configure for django
如果你可以从你的要求中删除apache,那会更好的记住你的记忆。 spawning似乎是运行python Web应用程序的新型快速可扩展方式。
 编辑:我看不到如何切换到mod_wsgi可能是“tricky”。这应该是一个非常容易的任务。请详细说明交换机所带来的问题。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Reducing Django Memory Usage. Low hanging fruit?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 49 = 54