前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >httpd中工作模型的比较

httpd中工作模型的比较

作者头像
星哥玩云
发布2022-06-30 19:57:37
7160
发布2022-06-30 19:57:37
举报
文章被收录于专栏:开源部署开源部署

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就会结束当前的子进程

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档