apache的MPM机制-prefork

apache是基于模块化设计的。

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

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

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

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

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

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

prefork有5项。

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

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

时间: 2024-11-01 17:36:04

apache的MPM机制-prefork的相关文章

apache的mpm工作模式

查看Apache工作模式的命令是: [[email protected] httpd-2.2.32]# /usr/local/apache2/bin/apachectl -M [[email protected] ~]# /usr/local/apache2/bin/apachectl -M Loaded Modules: core_module (static) authn_file_module (static) authn_default_module (static) authz_hos

apache工作模式:prefork和worker

一.两种模式 prefork模式: prefork是Unix平台上的默认(缺省)MPM,使用多个子进程,每个子进程只有一个线程.每个进程在某个确定的时间只能维持一个连接,效率高,但内存占用量比较大.    这个多路处理模块(MPM)实现了一个非线程型的.预派生的web服务器,它的工作方式类似于Apache 1.3.它适合于没有线程安全库,需要避免线程兼容性问题的系统.它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求. worker模式: worker使用

apache的rewrite机制

当我们使用thinkphp的时候,比如说我们访问一个Test控制器的test方法,http://localhost/index.php/Test/test/1.html,那个这个1是用get方式传递的参数,假如这个参数为id,那么我们其实访问的真实地址是http://localhost/index.php/Test/test?id=1.html,用过thinkphp的都知道,其实这个就是伪静态,通过配置tp配置文件的url模式可以实现,但是伪静态的实现,其实也可以用apache的rewrite机

页面静态化3 --- 伪静态技术之Apache的rewrite机制

  Apache的rewrite机制: 意思就是,你发送的地址,比如:http://localhost/news-id67.html会被Apache改写成http://localhost/news.php?id=67; Apache本身内置了一个模块:(httpd.conf) #LoadModule rewrite_module modules/mod_rewrite.so ---- 去掉注释,开启Apache内置的重写模块开启模块过后,这个模块把news-id67.html重写为news.ph

Apache三种MPM分析: Prefork、Worker和Event

httpd.conf LoadModule mpm_event_module modules/mod_mpm_event.so #LoadModule mpm_prefork_module modules/mod_mpm_prefork.so #LoadModule mpm_worker_module modules/mod_mpm_worker.so [[email protected] httpd]# vim extra/httpd-mpm.conf prefork: 一个进程一个请求(se

使用Apache worker MPM 来提高passenger 性能

看到了http://blog.phusion.nl/2013/03/12/tuning-phusion-passengers-concurrency-settings/的推荐,打算具体测试一下使用worker MPM对于passenger的性能提升. 实验设定:实验对象:    自己用Rails写的web service 实验工具: 自己用scala写的基于http://gatling.io/的性能测试代码 两个实验组 Prefork MPM(Default) -- Apache 默认的当前MP

apache中mpm分析

1.什么是MPM? Multi-Processing Module (MPM) implements a hybrid multi-process multi-threaded server.(多进程.多线程) 2.有多少种MPM? 大致有:prefork MPM.worker MPM.BeOS MPM.NetWare MPM.OS/2 MPM.WinNT MPM. 3.怎么知道apache当前用的是哪个MPM? linux及windows下都可以使用命令:"httpd -l " 进行

Apache ZooKeeper Watcher 机制源码解释

分布式系统从根本上来说就是不同节点上的进程并发执行,并且相互之间对进程的行为进行协调处理的过程.不同节点上的进程互相协调行为的过程叫做分布式同步.许多分布式系统需要一个进程作为任务的协调者,执行一些其他进程并不执行的特殊的操作,一般情况下哪个进程担当任务的协调者都无所谓,但是必须有一个进程作为协调者,自动选举出一个协调者的过程就是分布式选举.ZooKeeper 正是为了解决这一系列问题而生的.上一篇我们介绍了 ZooKeeper 服务启动原理和源代码剖析,这一讲我们来谈谈 Watcher 机制,

【Spark学习】Apache Spark安全机制

Spark版本:1.1.1 本文系从官方文档翻译而来,转载请尊重译者的工作,注明以下链接: http://www.cnblogs.com/zhangningbo/p/4135808.html 目录 Web UI 事件日志 网络安全(配置端口) 仅适用于Standalone模式的端口 适用于所有集群管理器的通用端口 现在,Spark支持通过共享秘钥进行认证.启用认证功能可以通过参数spark.authenticate来配置.此参数控制spark通信协议是否使用共享秘钥进行认证.这种认证方式基于握手