网站地图    收藏   

主页 > 系统 > apache教程 >

Apache2.x的MPM分析|进程-Apache教程

来源:自学PHP网    时间:2014-10-14 00:06 作者: 阅读:

[导读] ...

apache2.x的MPM分析:

    MPM (Multi-processing Module):相对于apache1.x的版本,性能上提升最显着的改进。

Apache的编译选项中可以看到下面一些MPM的种类:

    --with-mpm=MPM Choose the process model for Apache to use.MPM= {beos|worker|prefork|mpmt_os2|perchild|leader|threadpool}

    常用的应该就只有3个:worker|prefork|perchild

    1.prefork:在功能上就是使用Apache的运行方式,一个父进程,然后根据设置以及连接情况生成相应的子进程数。这种模式可靠性和健壮性都是最好的。但是在性能上,开销过大。达不到我们这些“吸血鬼”的要求了^_^。如果连接数过多的话,会导致我们无法远程登陆,一定要等到连接数下降后才能连接,这也是最让我头痛的事情。

   2. worker:混合线程/进程的MPM。一个父进程,后面是带有线程的子进程。每个子进程的线程数是固定且相同的。这是最“平庸”的一个模式,但也是使用人最多的一种模式。因为它性能等各方面比较均衡。性能上要比prefork好一些,只是牺牲了一点点的健壮性和可靠性而已。一般推荐使用这个选项。

    3.perchild:也是混合线程/进程的MPM。当启动perchild MPM时,它会建立指定数量的子进程,且每个子进程都具有指定数量的线程,如负载增加了,那它不会建立新的进程(子进程是固定的),只是在子进程下建立新的线程。它还有一个特点就是可以为每一个子进程配置不同的用户和组。也可以为每个虚拟主机指定一个子进程。这种模式性能是最佳的,但是可靠性和健壮性就相对是最差的。各取所需,我个人觉得这种模式也不错,如果你不用第三方的模块的话。

    注:其他的模式我个人没有接触,因此说不出他们的区别和特点。上面说的最佳和最差仅在这3种模式中做比较。水平有限,如有错误,欢迎一起讨论指正!!!


Apache2.x的MPM分析》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Server/Apache/18014.html

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论