“Apache MPM prefork”的原理与配置

该多处理模块(MPM)处理请求方式与Apache1.3有些类似,适合需要避免无线程安全函数库兼容性的网站。它也是隔离每个请求的最佳MPM,因此有问题的单个请求不会影响其它请求。

prefork这一MPM 的自我调节能力很强,几乎不需要对默认的配置指令进行调整。最重要的指令是“MaxClients”,数值应足以应对期望接受的许多并发请求,但小到确保有足够的物理内存应付所有进程

工作原理

Apache总是尝试保持备用空间或闲置服务器进程,随时准备应对请求。这种方法能避免客户端在服务被处理之前等待新的子进程。

“StartServers”,“MinSpareServers”,“MaxSpareServers”和“MaxClients”调节父进程如何产生子进程应对请求。一般来说,Apache能很好的自我调节,因此大多数网站不需要调整这些指令的默认值。需要同时处理256个以上并发请求的网站可能需要增加“MaxClients”,但内存小的网站可能需要减少“MaxClients”,以避免服务器崩溃。

杀死老进程并启动新进程的服务器循环频率是由“MaxRequestsPerChild”指令控制。