apache的MPM机制-prefork

时间:2023-03-09 15:59:15
apache的MPM机制-prefork

apache是基于模块化设计的。

关于基础的服务,也采用了模块化的设计,但是这个模块是具有排他性的,同一时间只能有一个得到调用。

MPM模块(multi processing module) 多处理模块,是一个基础模块。原来在Unix系列操作系统上运行。之后移植到其他平台上去的时候,选用了基于本地操作系统的模块。

在Unix系列上,根据是否支持线程,又产生了prefor, worker和event三种模块。

prefork模块没有使用线程,是最基础的。

对于一个httpd服务器来说,为了提供好对外的服务,首先要启动一些进程,prefork模式下默认是5。最小空闲进程数量是5,最大空闲进程是10,最大进程(MaxRequestWorkers)是256.

apache的MPM机制-prefork

从上图中可以看出在Ubuntu Linux 14.04LTS中,默认的配置。

prefork有5项。

设定了最多的进程是150个。

设定了每个进程可以服务的连接是无限的。如果把这个数字设定为不是0,那么可以避免可能的内存泄漏影响的内存数量。