apache的两种常用工作模式
apache常用的工作模式有Prefork和Worker模式:1 在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。prefork的无线程设计在某些情况下将比worker更有优势:它可以使用那些没有处理好线程安全的第三方模块,并且对于那些线程调试困难的平台而言,它也更容易调试一些。
2 Worker模式:WorkerMPM 使用多个子进程,每个子进程有多个线程。每个线程在某个确定的时间只能维持一个连接。通常来说,在一个高流量的HTTP服务器上,Worker MPM是个比较好的选择,因为WorkerMPM的内存使用比Prefork MPM要低得多。Worker MPM也由不完善的地方,如果一个线程崩溃,整个进程就会连同其所有线程一起"死掉".由于线程共享内存空间,所以一个程序在运行时必须被系统识别为"每个线程都是安全的"。
自我描述总结:
Apache常用的工作模式就两种,一种是prefork模式,一种是worker模式。这两种的工作模式的区别。perfork是以master进程生成子进程,每个子进程在一段时间内只接受一个链接,这个模式的优点是它比较稳定,进程之间相互独立,而且最大的不足这种模式比较占用内存。Worker模式以matser进程生成多个子进程,多个子进程同时会生成更多的线程,每个线程在一定时间内接受一个链接。优点:高流量大并发要使用worker模式
缺点:进程中有一个线程挂了,那整个工作进程以及这个工作进程下面所有的线程都会挂掉,在这个进程上面的所有请求就断掉了
调试的配置文件为:
/usr/local/apache2/conf/extra/httpd-mpm.conf文件
StartServers 8 //启动工作的进程
ServerLimit 1000 //最大并发不能超过多少
MinSpareServers 25 //预留的最小空闲进程
MaxSpareServers 75 //预留的最大空闲进程
MaxClients 1000 //每秒同时允许多少个链接,
页:
[1]