切换apache prefork worker 模式及参数优化
通常情况下,Linux中的apache是工作在 prefork 模式下,对于大内存的VPS或独立服务器,我们无需切换成Worker 模式。但对于CPU和内存有限制的小站来说,使用Worker模式工作的apache无疑更加灵活、高效。下面,比这将介绍下如何 切换 apache prefork worker 模式,以及 worker 相关参数的优化设置。
一、切换 apache prefork worker
如果你使用源代码方式编译安装了apache;那么,我们需要在编译之初时就选择好MPM模块。./configure –with-mpm=worker/prefork。当然,大多人使用centos的朋友都会用到yum install httpd,直接安装apache。切换prefork 与 worker模式也比较简单。
$ cd /usr/sbin
$ mv httpd httpd.prefork
$ mv httpd.worker httpd
$ service httpd restart
二、worker 参数优化
下面是优化后的的worker参数及相关说明:
ServerLimit 6
#默认为16 ServerLimit = MaxClients / ThreadPerChild 示例中ServerLimit为6
#只有当MaxClients/ThreadPerChild > 16时才应启用此参数
StartServers 2
#启动子进程数默认为3,其实无所谓,worker模式的灵活性就在于此
MaxClients 150
#MaxClients = ServerLimit * ThreadPerChild ,最大子进程数量
MinSpareThreads 25
#所有子进程的空闲线程总和
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 2000
#线程生命周期内处理的最大请求数,默认0表示线程永不销毁