调节httpd.conf中的worker参数值

\\ 下面是关于APACHE WORKER的参数设置

ee /usr/local/apache/conf/httpd.conf
ServerLimit 100
ThreadLimit 200
StartServers 5
MaxClients 3000
MinSpareThreads 50
MaxSpareThreads 200
ThreadsPerChild 100
MaxRequestsPerChild 0
我的设置
ServerLimit 3000
StartServers 5
MaxClients 5000
MinSpareThreads 75
MaxSpareThreads 300
ThreadsPerChild 50
MaxRequestsPerChild 80000
另一配置
<IfModule mpm_worker_module>
StartServers 10
ServerLimit 100
MaxClients 2500
MinSpareThreads 200
MaxSpareThreads 300
ThreadLimit 100
ThreadsPerChild 25
MaxRequestsPerChild 10000
</IfModule>
\\大家自己根据机子的配置设定,同时记住公式,不然启动APACHE会报错
ServerLimit 16
//服务器允许配置的进程数上限。这个指令和ThreadLimit结合使用设置了MaxClients最大允许配置的数值。任何在重启期间对这个指令的改变都将被忽略,但对MaxClients的修改却会生效。
ThreadLimit 64
//每个子进程可配置的线程数上限。这个指令设置了每个子进程可配置的线程数ThreadsPerChild上限。任何在重启期间对这个指令的改变都将被忽略,但对ThreadsPerChild的修改却会生效。默认值是”64″.
StartServers 3
//服务器启动时建立的子进程数,默认值是”3″。
MinSpareThreads 75
//最小空闲线程数,默认值是”75″。这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太少,子进程将产生新的空闲线程。
MaxSpareThreads 250
//设置最大空闲线程数。默认值是”250″。这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太多,子进程将杀死多余的空闲线程。MaxSpareThreads的取值范围是有限制的。Apache将按照如下限制自动修正你设置的值:worker要求其大于等于MinSpareThreads加上ThreadsPerChild的和
MaxClients 400
//允许同时伺服的最大接入请求数量(最大线程数量)。任何超过MaxClients限制的请求都将进入等候队列。默认值是”400″,16(ServerLimit)乘以25(ThreadsPerChild)的结果。因此要增加MaxClients的时候,你必须同时增加ServerLimit的值。
ThreadsPerChild 25
//每个子进程建立的常驻的执行线程数。默认值是25。子进程在启动时建立这些线程后就不再建立新的线程了。
MaxRequestsPerChild 0
//设置每个子进程在其生存期内允许伺服的最大请求数量。到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为”0″,子进程将永远不会结束。
将MaxRequestsPerChild设置成非零值有两个好处:
1.可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
2.给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
注意
对于KeepAlive链接,只有第一个请求会被计数。事实上,它改变了每个子进程限制最大链接数量的行为。

ThreadLimit >= ThreadsPerChild
MaxClients <= ServerLimit * ThreadsPerChild 必须是ThreadsPerChild的倍数
MaxSpareThreads >= MinSpareThreads+ThreadsPerChild
\\让APAHCE开机自动启动
cp /usr/local/apache/bin/apachectl /usr/local/etc/rc.d/apache.sh
chmod 755 /usr/local/etc/rc.d/apache.sh

\\用下面的方法手动生成rewrite模块
cd modules/mappers
/usr/local/apache/bin/apxs -c mod_rewrite.c -lgdbm
gcc -shared -o mod_rewrite.so mod_rewrite.o
/usr/local/apache/bin/apxs -i -A -n rewrite mod_rewrite.so
\\加上rewrite规则
在httpd.conf 最后加上
RewriteEngine On
接着把规则加上即可
笔者配置

<IfModule prefork.c>
StartServers         10
ServerLimit        2000
MinSpareServers      10
MaxSpareServers      15
MaxClients         1000
MaxRequestsPerChild  10000
</IfModule>
<IfModule worker.c>
StartServers         2
MaxClients         150
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享