科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网服务器频道优化Apache服务器的重负荷

优化Apache服务器的重负荷

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

作者:佚名 来源:金石网 2008年4月23日

关键字: MaxClients Linux 服务器 Apache

  • 评论
  • 分享微博
  • 分享邮件

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

  Apache允许为请求开的最大进程数是256,MaxClients的限制是256.如果用户多了,用户就只能看到Waitingforreply....然后等到下一个可用进程的出现。这个最大数,是Apache的程序决定的--它的NT版可以有1024,但Unix版只有256,你可以在src/include/httpd.h中看到:  

  以下为引用的内容:

  #ifndefHARD_SERVER_LIMIT

  #ifdefWIN32

  #defineHARD_SERVER_LIMIT1024

  #else

  #defineHARD_SERVER_LIMIT256

  #endif

  #endif  

  你可以把它调到1024,然后再编译你的系统。记得在httpd.conf里也要更改相应配置,缺省好象是150。就下面的机器来说,调到512顶死了,如果再高,系统受不了。

  另外,一些系统也限制了一个用户的最大进程数。你可以用ulimit-u来看。Linux一般是256。因此你要真想让Apache超过这个数,就得调整这个参数:

  ulimit-uunlimited

  这个参数要在Apache运行之前修改,因此建议加到apachectl里:  

  以下为引用的内容:

  case$ARGin

  start)

  if[$RUNNING-eq1];then

  echo"$0$ARG:httpd(pid$PID)alreadyrunning"

  continue

  改成

  case$ARGin

  start)

  ulimit-uunlimited

  if[$RUNNING-eq1];then

  echo"$0$ARG:httpd(pid$PID)alreadyrunning"

  continue

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章