您的位置:首页 > 运维架构 > Apache

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

2016-05-23 10:55 507 查看
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
[root@martin httpd]# vim extra/httpd-mpm.conf


prefork: 一个进程一个请求(select(): 1024)
<IfModule mpm_worker_module>
StartServers             3
MinSpareThreads         75
MaxSpareThreads        250
ThreadsPerChild         25
MaxRequestWorkers      400
MaxConnectionsPerChild   0
</IfModule>


StartServers: 默认启动的工作进程数;
MinSpareServers: 最少空闲进程数;
MaxSpareServers: 最大空闲进程数;
#ServerLimit: 最大活动进程数;
MaxRequestWorkers: 并发请求的最大数;
MaxConnectionsPerChild: 每个子进程在生命周期内所能够服务的最多请求个数,然后被杀死  0表示不限定



worker: 一个进程多个线程,一个线程一个请求
<IfModule mpm_worker_module>
StartServers             3
MinSpareThreads         75
MaxSpareThreads        250
ThreadsPerChild         25
MaxRequestWorkers      400
MaxConnectionsPerChild   0
</IfModule>
StartServers:启动的子进程的个数
MaxRequestWorkers: 并发请求的最大数;    StartServers*ThreadsPerChild
MinSpareThreads:最小空闲线程数;
MaxSpareThreads:最大空闲线程数;
ThreadsPerChild:每个子进程可生成的线程数;
MaxConnectionsPerChild:每个子进程在生命周期内所能够服务的最多请求个数,0表示不限定;


event: 一个线程响应多个请求
<IfModule mpm_event_module>
StartServers             3
MinSpareThreads         75
MaxSpareThreads        250
ThreadsPerChild         25
MaxRequestWorkers      400
MaxConnectionsPerChild   0
</IfModule>
StartServers   : 数量的服务器进程的开始
MinSpareThreads : 理解为最小数量的工作线程
MaxSpareThreads :理解为 最大数量的工作线程
ThreadsPerChild   : 理解为每个服务进程包含的固定数量的工作线程
MaxRequestWorkers : 单个进程最大并发
MaxConnectionsPerChild: 最大连接数的一个服务器进程服务


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: