仅提供静态文件的最佳 Apache MPM 是什么?nginx 和其他不是一个选择。
事件,工作者,预分叉还是其他?
如果您也能解释原因,那就太好了。
答案1
如果您可以使用 Apache 2.4,event
它是迄今为止最快的 MPM:它的行为方式与 nginx 类似,但仍然具有 Apache 的大多数优点。Apache 有关于此内容的出色文档
如果您只能使用 Apache 2.2,worker
MPM 比 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。