阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

httpd中工作模型的比较

78次阅读
没有评论

共计 1918 个字符,预计需要花费 5 分钟才能阅读完成。

httpd 工作模式中的 prefork、worker、event 优缺点:

http 服务, 需要客户端和服务器端建立连接,httpd 有三种工作模式:prefork worker event

优点: 在资源够用的情况下服务稳定

worker: 这个就是改进之前的工作模型, 就是让一个进程处理多个响应.

event: 这样模型就是让一个进程产生多个线程, 让每个线程处理处理客户端请求, 并且每个线程可以处理多个线程

查看 MPM, 可以使用 httpd - l 命令来查看当前加载的 MPM 模块

[root@s ~]# httpd -l

Compiled in modules:

core.c

prefork.c

http_core.c

mod_so.c

http 2.2 和 2.4 的区别

httpd2.2 可以通过修改配置文件来改变当前服务器所试用的模块.

http2.4 : 两种方式: 静态模块 动态模块

如果把 MPM 编译成静态模块, 那么要改变 MPM, 只能通过重新编译安装 httpd 来修改.

[root@s yum.repos.d]# ps uax |grep httpd

root      2918  0.0  0.3 119088  1616 pts/2    S+  15:14  0:00 vi httpd

root      2997  0.0  0.5 183720  2720 ?        Ss  15:33  0:00 /usr/sbin/httpd

root      3001  0.0  0.1 103252  824 pts/1    S+  15:33  0:00 grep httpd

去掉 /etc/sysconfig/httpd 这行的注释

HTTPD=/usr/sbin/httpd.worker

[root@s yum.repos.d]# ps aux |grep http

root      2918  0.0  0.3 119088  1616 pts/2    S+  15:14  0:00 vi httpd

root      3029  0.0  0.8 186560  4164 ?        Ss  15:34  0:00 /usr/sbin/httpd.worker

apache    3034  0.0  0.6 596356  3340 ?        Sl  15:35  0:00 /usr/sbin/httpd.worker

apache    3035  0.1  0.6 596356  3336 ?        Sl  15:35  0:00 /usr/sbin/httpd.worker

apache    3036  0.1  0.6 596356  3340 ?        Sl  15:35  0:00 /usr/sbin/httpd.worker

root      3150  0.0  0.1 103252  828 pts/1    S+  15:35  0:00 grep http

<IfModule prefork.c> 如果 prefork.c 模块存在, 则定义在标签内的参数有效

StartServers      8 服务开启默认启动的工作进程数, 不包含主进程

MinSpareServers    5 最少空闲进程数;

MaxSpareServers  20 最大空闲进程数;

ServerLimit      256 最大活动进程数;

MaxClients      256 并发请求的最大数, 一条进程最多处理多少个请求

MaxRequestsPerChild  4000 每个子进程在生命周期内所能服务的最多请求个数

</IfModule>

<IfModule worker.c>

StartServers        4    服务开启时, 启动的子进程的个数;

MaxClients        300    并发请求的最大数;

MinSpareThreads    25    最小空闲线程数;

MaxSpareThreads    75    最大空闲进程数;

ThreadsPerChild    25    每个子进程线程数;

MaxRequestsPerChild  0    每个子进程在生命周期内所能够服务的最多请求个数,0 表示不限定

</IfModule>

httpd 2.4 中 event 参数

<IfModule mpm_event_module>

StartServices      默认进程数

MinSpareThreads    最小空闲进程数

MaxSpareThreads    最大空闲进程数

ThreadsPerChild    每个子进程可以生成的线程数

MaxReqestWorkers  最大线程数量

MaxConnectionPerchild 子进程的最大连接数, 当达到设置值以后,APACHE 就会结束当前的子进程

总结:    安全和效率中考虑参数设置, 并且自己测试, 才能得到比较满意的配置

CentOS 6.5 编译安装 httpd-2.4.7 http://www.linuxidc.com/Linux/2014-02/97265.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计1918字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中