手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>服务器技术>Web服务器>列表

优化Apache服务器的重负荷

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

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


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!