我们致力于一个Apache知识的分享网站

Posts Tagged ‘prefork’

Apache两种常用工作模式比较:prefork和worker

在这里我就prefork和worker两种最为常用的工作模式进行比较:

prefork–Unix平台上的默认(缺省)MPM,使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接,效率高,但内存占用量比较大。

worker–使用多个子进程,每个子进程有多个线程,每个线程在某个确定的时间只能维持一个连接,内存占用量比较小,适合高流量的http服务器。缺点是假如一个线程崩溃,整个进程就会连同其任何线程一起”死掉”,所以要保证一个程式在运行时必须被系统识别为”每 个线程都是安全的”。

Apache的prefork模式和worker模式

Apache的prefork模式和worker模式

Apache Prefork和Worker模式的性能比较测试

相对来说,prefork方式速度要稍高于worker,然而它需要的cpu和memory资源也稍多于woker。

对Apache中并发控制参数prefork理解和调优

一个apache有linux下的并发不是很高的,大约到3K的样子(其实处理的http的请求可能只有300/s),普通的服务器都会不同程度的出现问题.apache有关并发控制主要是 prefork和worker二个其中一个来控制.我们可以使用httpd -l来确定当前使用的MPM是prefork.c,还是Worker.c.下面是apache中有关prefork的配置.下面是我优化过的参数.

Apache 2.0中prefork.c模块和worker.c模块的比较

Apache 2.0中prefork.c模块和worker.c模块的比较

Page 1 of 212