下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、httpd的3种MPM工作模式MPM是Multi-Processing Modules,表示 Apache中的多路处理模块,目前在 Linux 上的 Apache 2.2/2.4 中包括三种模式:prefork、worker 和 event 模式。HTTPD不同安装方式对比rpm 安装方式 httpd-2.2.15源码编译安装httpd-2.4.4默认运行 方式安装了 3种方式,以prefork默认编译时可以选择编译哪种方式,也可以 3种全装。默认是event影响运行 方式的因 素若编辑/etc/sysconfig/httpd 文 件 , 将 “ HTTPD=/usr/sbin/httpd.w
2、or ker ”注释取消,则再重启将以 worker形式运行。决定运行 方式的因 素/usr/sbin/ 卜有 3 个文件:httpd, httpd.event 和 httpd.worker. 以哪个文件运行就是那种模式。因此可 以修改/etc/sysconfig/httpd 文 件或者修改/usr/sbin/下的文件名 进行切换模式。/etc/httpd/httpd.conf 文件里 LoadModule mpm event module modules/mod mpm event.sompm参数主配置文件/etc/httpd/conf/httpd.conf 中/etc/httpd/extr
3、a/httpd-mpm.conf文件中二 rpm 方式安装后的相关配置在一些发行版的Apache安装时,可能不仅安装了 prefork模式的httpd,也可能安装有 worker/event模式的httpd供用户根据实际需要来选择。比如RHEL6.4中的httpd 安装包就是同时提供了 worker和event模式的httpd程序,如下所示:/usr/sbin/httpd.worker -lCompiled in modules:core.cworker.chttp_core.cmod_so.c/usr/sbin/httpd.event -lCompiled in modules:core.c
4、event.chttp_core.cmod_so.c在RHEL系统中,可以很容易地配置httpd服务对prefork、worker和event等3种 模式来进行选择。编辑 /etc/sysconfig/httpd 文件,可以将“ HTTPD=/usr/sbin/httpd.worker” 这行取消注释,然后重启 httpd 服务,即可使用到 woker 模式的 httpd 了;也可以改变 httpd, httpd.worker, httpd.event 的文件名为 httpd 而切换不同的模式。不过可 能使用 worker 模式的 httpd 会与 PHP 的一些东西存在兼容性而导致 http
5、d 服务不能启 动,如下所示,是需要安装php-zts软件包。service httpd startStarting httpd: httpd.worker: Syntax error on line 221 of /etc/httpd/conf/httpd.conf:Syntax error on line 9 of/etc/httpd/conf.d/php.conf:Cannotload/etc/httpd/modules/libphp5-zts.sointoserver:/etc/httpd/modules/libphp5-zts.so: cannot open shared objec
6、t file: No such file or directoryFAILEDyum install php-ztsservice httpd startStarting httpd: httpd.worker: Could not reliably determine the servers fully qualified domain name, using 12 for ServerNameOK 三源码包编译安装后的相关配置在 Apache 编译时,做 configure 这一步,可以加上-with-mpm=event”来将 event 编译作为MPM编译进去,同样也可以选择prefor
7、k和worker。另外,也可以将多个MPM 编译为共享模块,configure 中的参数为:-enable-mpms-shared=MPM-LIST (如: -enable-mpms-shared=prefork worker, -enable-mpms-shared=all)。 httpd-2.4.4默人加载的是event模式。3种方式都安装后,可以发现在modules/ 目 录下生成了 3 种对应的 mpm 方式,如果要切换,则在 httpd.conf 文件里编辑 LoadModule 即可加载。四三种模式的区别主要的区别是:prefork( 一个请求用一个进程响应)worker(一个请求
8、用一个线程响应)event(一个进程处理多个请求)prefork 中没有线程的概念,是多进程模型,一个进程处理一个连接;稳定;响应快。 其缺点是在连接数比较大时就非常消耗内存。rpm方式安装的默认就是prefork。有 一个以root为用户名和组名的进程作为master process,和8个以apache为用 户名和组的进程作为 worker process 来进行响应用户请求。worker 是多进程多线程模型,一个进程有多个线程,每个线程处理一个连接。与 prefork相比,worker模式更节省系统的内存资源。不过,需要注意worker模式 下的Apache与php等程序模块的兼容性。但
9、worker MPM也有不完善的地方,如果 一个线程崩溃,整个进程就会连同其所有线程一起死掉.由于线程共享内存空间,所 以一个程序在运行时必须被系统识别为每个线程都是安全的。总的来说,prefork 方式速度要稍高于worker,然而它需要的cpu和memory资源也稍多于woker。以上两种稳定的 MPM 方式在非常繁忙的服务器应用下都有些不足。尽管 HTTP 的 Keepalive 方式能减少 TCP 连接数量和网络负载,但是 Keepalive 需要和服务进 程或者线程绑定,这就导致一个繁忙的服务器会耗光所有的线程。 Event MPM 是解 决这个问题的一种新模型,它把服务进程从连接中
10、分离出来。在服务器处理速度很快, 同时具有非常高的点击率时,可用的线程数量就是关键的资源限制,此时Event MPM 方式是最有效的。一个以 Worker MPM 方式工作的繁忙服务器能够承受每秒好几万次 的访问量(例如在大型新闻服务站点的高峰时),而Event MPM可以用来处理更高负 载。event模式不能很好的支持https的访问(HTTP认证相关的问题)。五mpm的配置参数rpm 安 装 后 在 httpd.conf 文 件 里 , 源 码 编 译 安 装 后 在 /etc/httpd/extra/httpd-mpm.conf。1.源码编译方式。 TOC o 1-5 h z IfMod
11、ule mpm_prefork_module StartServers5MinSpareServers5MaxSpareServers10MaxRequestWorkers250MaxConnectionsPerChild 0prefork控制进程在最初建立“ StartServers ”个子进程后,为了满足 MinSpareServers设置的需要创建一个进程,等待一秒钟,继续创建两个,再等待 一秒钟,继续创建四个如此按指数级增加创建的进程数,最多达到每秒32个,直 到满足MinSpareServers设置的值为止。这种模式可以不必在请求到来时再产生新 的进程,从而减小了系统开销以增加性能。
12、MaxSpareServers设置了最大的空闲进 程数,如果空闲进程数大于这个值,Apache会自动kill掉一些多余进程。这个值不 要设得过大,但如果设的值比MinSpareServers 小, Apache会自动把其调整为 MinSpareServers + 1。如果站点负载较大,可考虑同时加大MinSpareServers和 MaxSpareServersoMaxRequestsPerChild设置的是每个子进程可处理的请求数。每个子进程在处理了 “MaxRequestsPerChild”个请求后将自动销毁。0意味着无限,即子进程永不销 毁。虽然缺省设为0可以使每个子进程处理更多的请求,
13、但如果设成非零值也有两点重 要的好处:1、可防止意外的内存泄漏。2、在服务器负载下降的时侯会自动减少子进程数。 MaxRequestWorkers指令集同时将服务请求的数量上的限制。任何连接尝试在 MaxRequestWorkerslimit将通常被排队,最多若干基于上ListenBacklog扌旨令。 在 apache2.3.13 以前的版本 MaxRequestWorkers 被称为 MaxClients 。(MaxClients是这些指令中最为重要的一个,设定的是Apache可以同时处理的请 求,是对Apache性能影响最大的参数。如果请求总数已达到这个值(可通过 ps -ef|grep
14、 http|wc -l来确认),那么后面的请求就要排队,直到某个已处理请求完 毕。这就是系统资源还剩下很多而HTTP访问却很慢的主要原因。虽然理论上这个值越 大,可以处理的请求就越多,但Apache默认的限制不能大于256。)IfModule mpm worker module TOC o 1-5 h z StartServers3MinSpareThreads75MaxSpareThreads250ThreadsPerChild25MaxRequestWorkers400MaxConnectionsPerChild 0Worker由主控制进程生成“ StartServers”个子进程,每个子
15、进程中包含固定的 ThreadsPerChild线程数,各个线程独立地处理请求。同样,为了不在请求到来时 再生成线程,MinSpareThreads和MaxSpareThreads设置了最少和最多的空闲线 程数。MinSpareThreads和 MaxSpareThreads的最大缺省值分另U是75和250。 这两个参数对Apache的性能影响并不大,可以按照实际情况相应调节。而MaxRequestWorkers设置了同时连入的clients最大总数。如果现有子进程中 的线程总数不能满足负载,控制进程将派生新的子进程。ThreadsPerChild是worker MPM中与性能相关最密切的扌旨
16、令.ThreadsPerChild 的最大缺省值是64,如果负载较大,64也是不够的。这时要显式使用ThreadLimit 指令,它的最大缺省值是20000, ThreadLimit要放在最前面才生效。Worker模式下所能同时处理的请求总数是由子进程总数乘以ThreadsPerChild值 决定的,应该大于等于MaxRequestWorkers。如果负载很大,现有的子进程数不能 满足时,控制进程会派生新的子进程。默认最大的子进程总数是16,加大时也需要显 式声明ServerLimit。需要注意的是,如果显式声明了 ServerLimit,那么它乘以ThreadsPerChild 的值必须大于等于MaxRequestWorkers , 而且MaxRequestWorkers 必须是 ThreadsPerChild 的整数倍,否贝9 Apache 将会自动调节到一个相应值。StartServers3MinSpareThreads75MaxSpareThreads250ThreadsPerChild25MaxRequestWorkers400MaxConnectionsPerChild02. rpm安装方式。StartServers8MinSpareServers5MaxSpareServers20ServerLimit256MaxClients256MaxRequestsP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全员安全意识提升专项行动方案
- 注册会计师税法中企业所得税法税收优惠减免税的适用条件
- 气体公司充装操作准则
- 机械制造厂设备维修制度
- 某钢铁厂热轧工艺操作制度
- 2026中国科学院化学研究所怀柔研究中心招聘备考题库含答案详解(能力提升)
- 2026清华大学出版社校园招聘备考题库带答案详解(培优b卷)
- 2026浙江台州市中医院招聘心电图诊断医生(编外)1人备考题库(含答案详解)
- 2026安徽皖信招聘铁塔阜阳市分公司技术人员2人备考题库及参考答案详解ab卷
- 2026江西鹰潭月湖区民政局招聘工作人员1人备考题库及参考答案详解(新)
- 汽油柴油知识课件
- 2026年浙江建设职业技术学院单招职业倾向性考试题库附答案
- 2026年温州职业技术学院单招职业适应性考试题库含答案
- 2026年公共营养师(二级专业技能)考试题及答案
- 2025版过敏性休克抢救指南(医护实操版)
- 2025年论文编辑岗位招聘面试参考试题及参考答案
- 电芯安全培训课件
- 医务人员法律法规培训内容
- DB13(J)T 191-2020 聚苯模块保温系统技术规程
- 人工智能与机器学习(广东医科大学)知到智慧树网课答案
- 2026年马原考试题库300道附完整答案(必刷)
评论
0/150
提交评论