Linux 版 (精华区)

发信人: cliff (狗屁膏药), 信区: Linux
标  题: Apache重负荷服务器应如何优化?
发信站: 紫 丁 香 (Tue Dec  7 09:55:30 1999) WWW-POST

发信人: midi (迷笛), 信区: Linux 
标 题: Re: Apache重负荷服务器应如何优化? 
发信站: BBS 水木清华站 (Fri Aug 27 00:46:08 1999) 

一天两万个请求确实不大,但如果在高峰时期出现,而晚间或其它 
时间没有,呈正态分布,且均是需要时间的下载服务,那负载还是 
很大的。 

Apache允许为请求开的最大进程数是256,MaxClients的限制是256. 
如果用户多了,用户就只能看到Waiting for reply....然后等到下一个 
可用进程的出现。这个最大数,是Apache的程序决定的--它的NT 
版可以有1024,但Unix版只有256,你可以在src/include/httpd.h中 
看到: 
#ifndef HARD_SERVER_LIMIT 
#ifdef WIN32 
#define HARD_SERVER_LIMIT 1024 
#else 
#define HARD_SERVER_LIMIT 256 
#endif 
#endif 
你可以把它调到1024,然后再编译你的系统。记得在httpd.conf里也 
要更改相应配置,缺省好象是150。就下面的机器来说,调到512顶 
死了,如果再高,系统受不了。 

另外,一些系统也限制了一个用户的最大进程数。你可以用ulimit -u 
来看。Linux一般是256。因此你要真想让Apache超过这个数,就得调整 
这个参数: 
ulimit -u unlimited 
这个参数要在Apache运行之前修改,因此建议加到apachectl里: 
case $ARG in 
start) 
if [ $RUNNING -eq 1 ]; then 
echo "$0 $ARG: httpd (pid $PID) already running" 
continue 
改成 
case $ARG in 
start) 
ulimit -u unlimited 
if [ $RUNNING -eq 1 ]; then 
echo "$0 $ARG: httpd (pid $PID) already running" 
continue 


--
        
                  ________________
                 /________________/|
                 |               | |
                 |      网       | |
                 |      络       | |

※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: 202.118.239.10] 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.581毫秒