什么是最好的Apache MPM只提供静态文件? nginx和其他人不是一个选项。
事件,工人,prefork或其他?
如果你能解释为什么,这将是真棒。
如果你能使用Apache 2.4, event是迄今为止最快的MPM:它的行为方式类似于nginx,但仍然具有Apache的大部分优点。 Apache在这里有很好的文档
如果只能使用Apache 2.2,那么worker MPM比prefork更快,内存占用更less,对平稳重启的反应更强烈,强烈推荐。
Apache 2.2也可以通过实验使用事件mpm,但可能会有不愉快的地方。
如果您需要PHP或其他非线程安全的模块,那么Prefork应该只能被使用,因为它会为所有的事情创build完整的stream程,而且相当数量的HTTP 1.1保持活动会通过不closures空闲连接而大量占用您的服务器。 避免。
您可以为Apache 2.x上的Keep-Alive HTTP(而不是HTTPS)连接selectevent 。 记住这个选项是实验性的 。
我build议使用worker 。 它会为你的apache提供一个线程模块,它控制工作进程的数量,每个工作者的线程等等,这是为大量并发请求提供静态内容的理想select。
prefork只提供多个线程进程,每个TCP连接由一个进程处理。 在大量请求下,它比worker内存消耗更多。