Apache重负荷服务器应如何优化

  • 来源: 互联网 作者: rocket   2008-03-17/10:55
  • 一天两万个请求确实不大,但如果在高峰时期出现,而晚间或其它时间没有,呈正态分布,且均是需要时间的下载服务,那负载还是很大的。 

    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  

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多