在Linux Xen VPS上优化Apache和MySQL

我有一台运行Ubuntu 8.10的Xen虚拟专用服务器(VPS),拥有128M内存。

我发现了几个“如何通过谷歌优化Apache和MySQL的低内存VPS”页面,但他们提供了矛盾的信息。 所以我问服务器故障:如何优化Apache和MySQL的低内存VPSconfiguration?


有几个人build议使用nginx而不是Apache。 我会研究这一点,但是如果可能的话,我宁愿坚持使用Apache,只是为了避免必须学习configuration应用程序堆栈在一个陌生的(对我)Web服务器的顶部。

Nginx很棒,但是如果你想坚持使用Apache,可以从默认设置中细化一下:

  • 使用worker MPM而不是prefork(使用worker MPM Apache不再有“每个连接的进程”模型)。
  • 看看你正在加载的所有共享模块,摆脱任何你不需要的东西。
  • 避免在Apache中embedded应用程序服务器(如mod_python,mod_php等),如果可以避免的话。 相反,运行应用程序服务器在一个单独的进程,并有他们的Apache代理(即Python代码使用守护进程模式下的mod_wsgi)。 这样,只是提供静态内容的Apache线程就不会不必要的膨胀。
  • 在您的Apacheconfiguration中,减lessStartServers,MaxClients,MinSpareThreads和MaxSpareThreads设置。 根据您的预期负载,您有时可以将它们从默认设置中减less五倍或更多。

如果你有内存限制,我会build议使用nginx作为替代,如果可能的话。 它消耗的内存比Apacheless得多,取决于你的需求可能是你所需要的。

作为一个奖励,nginx往往比Apache快得多。 =)

沟阿帕奇,这是每个连接模式的过程将不会发挥与您的低内存VPS。

我build议nginx作为替代。