【发布时间】:2010-10-03 23:40:50
【问题描述】:
我的内存使用量随着时间的推移而增加,重新启动 Django 对用户不利。
我不确定如何分析内存使用情况,但一些关于如何开始测量的提示会很有用。
我觉得有一些简单的步骤可以产生巨大的收益。确保 'debug' 设置为 'False' 显然是一件大事。
任何人都可以推荐其他人吗?在低流量网站上缓存会有多大改进?
在这种情况下,我使用 mod_python 在 Apache 2.x 下运行。我听说 mod_wsgi 有点精简,但在这个阶段切换会很棘手,除非我知道收益会很大。
编辑:感谢到目前为止的提示。有什么建议如何发现内存用尽了吗?是否有 Python 内存分析指南?
同样如前所述,有一些事情会使切换到 mod_wsgi 变得很棘手,所以我想先了解一下在朝着这个方向前进之前我可以期待的收益。
编辑:Carl 在这里发了一个稍微详细一点的回复,值得一读:Django Deployment: Cutting Apache's Overhead
编辑: Graham Dumpleton's article 是我在 MPM 和 mod_wsgi 相关内容中找到的最好的。我很失望,没有人可以提供任何关于调试应用程序本身内存使用的信息。
最终编辑:好吧,我一直在与 Webfaction 讨论这个问题,看看他们是否可以帮助重新编译 Apache,这是他们对此事的看法:
“我真的认为切换到 MPM Worker + mod_wsgi 设置不会给您带来太多好处。我估计您可能可以节省大约 20MB,但可能不会更多。”所以!这让我回到了我最初的问题(我仍然对此一无所知)。如何确定问题所在?这是一个众所周知的格言,没有测试就不会优化,看看需要优化的地方,但是关于测量 Python 内存使用情况的教程很少,而且根本没有专门针对 Django。
感谢大家的帮助,但我认为这个问题仍然悬而未决!
另一个最终编辑 ;-)
我在 django-users 列表上问了这个问题,得到了一些 very helpful replies
老实说,这是有史以来的最后一次更新!
这是刚刚发布的。可能是最好的解决方案:Profiling Django object size and memory usage with Pympler
【问题讨论】:
标签: python django profiling memory-management mod-python