在 Linux Xen VPS 上优化 Apache 和 MySQL

Kri*_*son 10 mysql linux xen vps apache-2.2

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

我通过 Google 找到了几个“如何针对低内存 VPS 优化 Apache 和 MySQL”页面,但它们提供了相互矛盾的信息。所以我问服务器故障:如何针对低内存 VPS 配置优化 Apache 和 MySQL?


一些人建议使用nginx而不是 Apache。我会研究一下,但如果可能的话,我更愿意坚持使用 Apache,只是为了避免必须学习在不熟悉的(对我来说)Web 服务器上配置应用程序堆栈的所有知识。

小智 7

Nginx 很棒,但是如果您想坚持使用 Apache,可以将其从默认设置中精简很多:

  • 使用工作 MPM 而不是 prefork(工作 MPM Apache 不再有“每个连接的进程”模型)。
  • 查看您正在加载的所有共享模块,删除您不需要的任何模块。
  • 如果可以避免,请避免在 Apache 中嵌入应用程序服务器(即 mod_python、mod_php 等)。相反,在单独的进程中运行应用程序服务器并为它们提供 Apache 代理(即,对于 Python 代码,在守护进程模式下使用 mod_wsgi)。这样,您的 Apache 线程只是提供静态内容,就不会不必要地膨胀。
  • 在 Apache 配置中,减少 StartServers、MaxClients、MinSpareThreads 和 MaxSpareThreads 设置。根据您的预期负载,您有时可以将它们从默认设置减少五倍或更多。