工作模式为:preforkworker

prefork:多进程,每个进程产生子进程

worker:多进程,每个进程生成多个线程

工作原理:

prefork 的工作原理是,控制进程在最初建立―StartServers‖个子进程后,为了满足MinSpareServers 设置的需要创建一个进程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32 个,直到满足MinSpareServers 设置的值为止。这就是预派生(prefork)的由来。这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。

worker 2.0 版中全新的支持多线程和多进程混合模型的MPM。由于使用线程来处理,所以可以处理相对海量的请求,而系统资源的开销要小于基于进程的服务器。但是,worker 也使用了多进程,每个进程又生成多个线程,以获得基于进程服务器的稳定性。这MPM 的工作方式将是Apache 2.0 的发展趋势。

可以通过命令httpd -l 可以查看apache 当前的模块,如果带有worker.c 就是工作在worker模式下,如果有prefork.c 就是工作在prefork.c 的模式下。