• 欢迎访问Ppabc博客网站,专注于Linux、CentOS、Apache、Nginx、MySQL、PHP等开源工具安装优化的技术博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入Ppabc博客
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏Ppabc博客吧

调节httpd.conf中的worker参数值

Freebsd admin 11年前 (2008-03-26) 189次浏览

\\ 下面是关于 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>


Selinux 中国 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:调节 httpd.conf 中的 worker 参数值
喜欢 (0)