我有一個小的VPS服務器,具有Nginx前端,可提供靜態媒體文件並將Django請求傳回運行mod_wsgi的Apache 2.2 prefork MPM服務器。
有一个(非常)小的网站正在加载和运行,当前正在使用256MB内存中的143MB。
使用top
命令,我可以看到Apache正在使用可用RAM的52.9%,第二位是使用2.1%的memcache。
考虑到我计划在这个服务器上放置相当多的Django项目,我想知道有没有什么办法可以减少Apache使用的内存量?
我有一個小的VPS服務器,具有Nginx前端,可提供靜態媒體文件並將Django請求傳回運行mod_wsgi的Apache 2.2 prefork MPM服務器。
有一个(非常)小的网站正在加载和运行,当前正在使用256MB内存中的143MB。
使用top
命令,我可以看到Apache正在使用可用RAM的52.9%,第二位是使用2.1%的memcache。
考虑到我计划在这个服务器上放置相当多的Django项目,我想知道有没有什么办法可以减少Apache使用的内存量?
如果你想坚持使用Apache,以下是一些建议,按照难易程度大致排列:
值得记录的是,OP 对 MPM 术语的使用是没有意义的。在 Apache 中,MPM 不是一个选项,使用 Apache 时,您总是在使用 MPM。选择使用哪个 MPM。在 UNIX 上,两个主要的 MPM 或多处理模块是 prefork 和 worker。在 Windows 上,始终使用 winnt MPM。有关不同 MPM 的详细信息可以在 Apache 网站上的 Apache 文档中找到。但在 mod_wsgi 的上下文中,你最好阅读:
将此翻译成中文:http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading
简而言之:
您可以考虑使用Spawning进行部署。
你可以在FastCGI上运行Django。然后,nginx可以直接驱动它,而不必经过Apache。