LAMP架构调优(八)——Apache Worker模式调优

今天继续给大家介绍Linux运维的相关知识,本文主要内容是Apache的Worker模式调优实战。

一、Apache Worker模式详解

与Apache的Prefork模式相比,Worker模式采用了多进程和多线程的混合模式,与Prefork模式类似,Worker模式也会先预派生一些子进程,然后每个子进程创建一些子线程。来自客户端的请求会被分配给某个线程进行处理。由于采用线程对客户端的请求进行处理,因此Worker模式相比于Prefork模式会占用更少的内存空间,也因此Worker模式会更适应高并发情况下对客户端请求的处理。但是,Apache Worker模式的弊端在于,如果一个线程出现问题,会连累该线程所处进程下的所有线程崩溃,因此需要考虑线程安全。

二、Apache Workrt模式查看

打开Apache的主配置文件,如果看到LoadModule中,打开了worker模式,则说明当前Apache采用的工作模式是Worker,如下所示:
在这里插入图片描述
执行命令:

/usr/local/httpd/bin/httpd -M | grep worker

可以进一步检查当前Apache是否工作于Worker模式下,如下所示:
在这里插入图片描述
与Apache的Prefork模式类似,如果向对Apache的Worker模式进行优化,在主配置文件中,除了需要进行上述配置,还需要打开对conf/extra/目录下httpd-mpm.conf文件的包含,并在该文件中进行配置。

三、Apache Worker性能优化

打开conf/extra/目录下httpd-default.conf文件,与Worker工作模式相关的配置如下:
在这里插入图片描述
Worker优化中各参数及其作用是:
ServerLimit:该参数表示服务器允许的最大进程数。
StartServers:该参数表示Apache服务在启动后,生成的子进程数。Apache服务在启动时,会以第一秒1个进程,第二秒2个进程,第三秒4个进程……的指数形势递增,直至达到默认开启的进程数,但是,最大每秒新增32个。
MaxRequestWorkers:该参数表示Apache服务所能够支持的最大并发量,该参数的值为系统最大进程数与每个进程最大线程数的乘积。
MinSpareThreads:该参数表示最小的空闲进程数,所谓空闲进程是指没有链接的进程,该值得适当设置,可以使得有突发流量时,系统可以有一定的缓冲时间,不至于因为新建进程的时间而导致无法响应客户端的请求,但是该值设置的太大又会使得系统资源造成不必要的消耗。当系统中的空闲进程小于该数值时,Apache服务会创建新的子进程。
MaxSpareThreads:最大的空闲进程数,该值得设置可以避免系统资源的过渡消耗。当系统中的空闲进程大于该数值时,Apache服务会杀死多余的子进程。
ThreadLimit:每个子进程所支持的线程数上限。
ThreadsPerChild:每个子进程包含的固定的线程数,缺省值为64.
MaxRequestsPerChild:每个子进程可以支持的请求总数,在Worker模式中,该值通常设置为0,表示每个子进程可以支持的请求总数不受限制。

四、Apache Worker配置参考

尽管我们知道了上述参数的作用,但是在具体生产环境中,对Apache参数的配置还是需要根据业务场景来进行选择。下面,我仅给出一个参考的取值:
StartServers:5
MaxRequestWorkers:9600
ServerLimit:64
MinSpareThreads:25
MaxSpareThreads:500
ThreadLimit:200
ThreadsPerChild:150
MaxRequestsPerChild:0
如果对自身生产环境配置不确定的情况下,可以参考该取值来进行配置。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值