首页 文章

Django性能/内存使用情况[关闭]

提问于
浏览
5

我正在EC2 Small实例(1.7 GB RAM)上运行我的应用程序的alpha版本,其中包含postgres和apache(wsgi-mod不是守护进程但是直接) .

表现不错,但可能会更好 . 如果有太多测试用户加入,我也担心内存使用情况 .

从Apache切换到nginx服务器是明智的吗?有没有任何Django开发人员做到这一点,并对结果更满意?在路上任何其他提示也是受欢迎的 .

谢谢

3 回答

  • 2

    我们在gunicorn服务器中使用nginx和我们的Django应用程序 . 到目前为止,性能非常好,但我还没有与Apache设置进行任何直接比较 . 内存使用量非常小,nginx占用大约10MB内存,大约150MB(但它也服务于多个应用程序) . 当然,这可能因app而异 .

    我建议只是试试看,应该很容易在网上和/或gunicorn网站上设置一些教程 . 还可以获得一些类似的测试用例并使用某种监控软件(如munin)来查看随时间的变化 .

  • 4

    你为什么不使用mod_wsgi的守护进程模式?如果您使用的是嵌入式模式,那么如果您不小心设置Apache,则可能会遇到内存问题 .

    去看看:

    http://blog.dscpl.com.au/2012/10/why-are-you-using-embedded-mode-of.html

    并观看我的PyCon演讲:

    http://lanyrd.com/2012/pycon/spcdg/

    同时修改您的问题并指出您正在使用的Apache MPM以及MPM设置 .

    至于使用诸如gunicorn或uWSGI之类的替代品,对于类似的配置,内存要求并没有太大的不同,因为底层服务器不会决定使用多少内存,它将是你的在其上运行的特定Python Web应用程序 . 一个常见的误解是,gunicorn或uWSGI以某种方式神奇地解决了所有问题,并且Apache无法做到这一点 . 为Python Web应用程序正确设置Apache并且不依赖于其默认设置,它与其他解决方案一样强大,并且可以根据您的要求提供更多灵活性 .

    非常建议您进行一些监控,以找出真正的问题和瓶颈 .

  • 1

    我的结果好坏参半 . 当应用程序快速,无阻塞时,nginx在较小的内存占用情况下表现良好 . 流量越高,收益越大 .

    我有几个GIS应用程序有点慢,在这种情况下,nginx失败了 . 我的建议是:不要在任何可能阻塞几秒钟的东西上使用nginx wsgi .

相关问题