gpt4 book ai didi

python - 减少 Django 内存使用。低悬的果实?

转载 作者:IT老高 更新时间:2023-10-28 12:30:16 25 4
gpt4 key购买 nike

我的内存使用量随着时间的推移而增加,重新启动 Django 对用户不利。

我不确定如何分析内存使用情况,但一些关于如何开始测量的提示会很有用。

我觉得有一些简单的步骤可以产生巨大的 yield 。确保 'debug' 设置为 'False' 显然是一件大事。

任何人都可以推荐其他人吗?在低流量网站上缓存会有多大改进?

在这种情况下,我使用 mod_python 在 Apache 2.x 下运行。我听说 mod_wsgi 有点精简,但在这个阶段切换会很棘手,除非我知道 yield 会很大。

编辑:感谢到目前为止的提示。有什么建议如何发现内存用尽了吗?是否有 Python 内存分析指南?

同样如前所述,有一些事情会使切换到 mod_wsgi 变得很棘手,所以我想先了解一下在朝着这个方向前进之前我可以期待的 yield 。

编辑: Carl 在这里发布了一个稍微详细一点的回复,值得一读:Django Deployment: Cutting Apache's Overhead

编辑: Graham Dumpleton's article是我在 MPM 和 mod_wsgi 相关的东西上找到的最好的。我相当失望的是,没有人可以提供任何有关调试应用程序本身内存使用情况的信息。

最终编辑:嗯,我一直在与 Webfaction 讨论这个问题,看看他们是否可以帮助重新编译 Apache,这是他们对此事的看法:

"I really don't think that you will get much of a benefit by switching to an MPM Worker + mod_wsgi setup. I estimate that you might be able to save around 20MB, but probably not much more than that."

所以!这让我回到了我最初的问题(我仍然对此一无所知)。如何确定问题所在?这是一个众所周知的格言,没有测试就不会优化,看看需要优化的地方,但是关于测量 Python 内存使用的教程很少,而且根本没有专门针对 Django。

感谢大家的帮助,但我认为这个问题仍然悬而未决!

另一个最终编辑 ;-)

我在 django-users 列表上问了这个问题,得到了一些 very helpful replies

老实说,这是有史以来的最后一次更新!

这是刚刚发布的。可能是最好的解决方案:Profiling Django object size and memory usage with Pympler

最佳答案

确保您没有保留对数据的全局引用。这可以防止 python 垃圾收集器释放内存。

不要使用 mod_python。它在 apache 中加载一个解释器。如果需要使用apache,请使用mod_wsgi反而。切换并不难。这很容易。 mod_wsgi 更容易 configure for django比脑死的mod_python

如果您可以从您的需求中删除 apache,那对您的内存力会更好。 spawning似乎是运行 python web 应用程序的新的快速可扩展方式。

编辑:我看不出切换到 mod_wsgi 有什么“棘手”。这应该是一项非常容易的任务。请详细说明您在使用交换机时遇到的问题。

关于python - 减少 Django 内存使用。低悬的果实?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/487224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com