LAMP架构调优(七)——Apache Prefork模式调优

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

一、Apache Prefork模式详解

Apache服务的运行,有三种模式,Prefork是一种常见的方式,在默认情况下,源码安装后的Apache服务就是工作于Prefork模式下。
Prefork模式实现了一个预派生进程的工作方式,在Apache启动时,就预先创建一些进程,然后等待客户端链接,这样可以减少进程的创建和销毁带来的系统开销。Prefork模式下,每个进程仅有一个子线程,在同一时间内,一个进程只能处理一个请求。因此,Prefork模式相对成熟稳定,可以兼容新老模块,也不需要担心线程安全问题。但是,也正由此导致了Prefork工作模式会占用更多的系统资源,在高并发场景下处理能力较弱。

二、Apache Prefork查看

可以通过执行命令:

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

来查看Apache所处的工作模式。在使用Prefork模式下,Apache服务的主配置文件中Prefork模块一定会被打开,如下所示:
在这里插入图片描述
为了对Prefork工作模式进行优化,我们必须找到如下红线部分的内容:
在这里插入图片描述
在conf/extra目录下,存在一个httpd-mpm.conf文件,在该文件中会存在对Apache三种模式的详细配置,因此,我们要对Apache的Prefork模式进行调优,就必须找到该处,删除#,使得在Apache的主配置文件中,引用该httpd-mpm.conf配置文件。

三、Apache Prefork性能优化

打开httpd-default.conf配置文件,可以看到Prefork模式的配置模块,如下所示:
在这里插入图片描述
Prefork模式的配置有几个参数,参数及作用如下:
ServerLimit:最大的进程数
StartServers:启动Apache服务时,默认开启的进程数,Apache主进程在启动后,会以第一秒1个进程,第二秒2个进程,第三秒4个进程……的指数形势递增,直至达到默认开启的进程数,但是,最大每秒新增32个。
MinSpareServer:最小的空闲进程数,所谓空闲进程是指没有链接的进程,该值得适当设置,可以使得有突发流量时,系统可以有一定的缓冲时间,不至于因为新建进程的时间而导致无法响应客户端的请求,但是该值设置的太大又会使得系统资源造成不必要的消耗。
MaxSpareServer:最大的空闲进程数,该值得设置可以避免系统资源的过渡消耗。
MaxRequestWorkers:最大的并发进程数,当客户端的请求达到该数值后,有新的请求时,会加入到缓存队列,而不会立即处理。该值通常和ServerLimit相等。
MaxRequestsPerChild:一个进程所能够进行链接的最大数,当一个进程处理的请求总数超出该值时,该进程的父进程会杀死该进程。当该值为0时,表示一个进程能够进行链接数量不受限制。
我们修改上述值得设置如下所示:
在这里插入图片描述
并重启Apache服务。查看Apache服务的进程如下所示:
在这里插入图片描述
可以看出,Apache在启动后,一共生成了8个子进程,我们的配置生效。

四、Apache Prefork参数配置

尽管我们知道了上述参数的作用,但是在具体生产环境中,对Apache参数的配置还是需要根据业务场景来进行选择。一般而言,一个进程需要消耗的内存为1.6M左右,因此,我们就可以通过这个数据来计算配置的最大链接数。假设系统有32G的内存,留给服务器系统消耗1G,其余的内存分配给Apache,则Apache可用的内存空闲大小为15G,15G/1.6M=960个,因此,可以将系统的最大链接数设置为960。其余参数可以根据实际情况进行设置。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

永远是少年啊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值