最适合仅提供静态文件的 Apache MPM 是什么?

最适合仅提供静态文件的 Apache MPM 是什么?

仅提供静态文件的最佳 Apache MPM 是什么?nginx 和其他不是一个选择。

事件,工作者,预分叉还是其他?

如果您也能解释原因,那就太好了。

答案1

如果您可以使用 Apache 2.4,event它是迄今为止最快的 MPM:它的行为方式与 nginx 类似,但仍然具有 Apache 的大多数优点。Apache 有关于此内容的出色文档

如果您只能使用 Apache 2.2,workerMPM 比 prefork 更快,内存占用更低,对平滑重启的响应更快,因此强烈推荐。

Apache 2.2 也可以实验性地使用 event mpm,不过可能会有不愉快。

Prefork仅当您需要 PHP 或其他非线程安全模块时才应使用它,因为它会为所有内容创建完整进程,并且相当数量的 HTTP 1.1 保持活动将因不关闭空闲连接而严重淹没您的服务器。避免使用。

答案2

您可以event在 Apache 2.x 上选择 Keep-Alive HTTP(不是 HTTPS)连接。请记住,此选项是实验

我建议使用worker。它将为您的 apache 提供一个线程模块,用于控制工作进程的数量、每个工作进程的线程数等,这是为大量并发请求提供静态内容的理想选择。

prefork只提供多个无线程进程,其中每个 TCP 连接由一个进程处理。它比worker大量请求下消耗更多的 RAM。

相关内容