Discuz!NT
欢迎 游客 , 注册 | 登录 | 会员 | 界面 | 简洁版本 | 在线 | 帮助
商都网教育宝典宝库

发表新主题 回复该主题
本主题被查看584次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第   上一主题   下一主题
标题: 优化Apache服务器的重负荷
-[尕硴]
超级版主
UID: 71
来自:
精华: 130
积分: 14003
帖子: 12909
注册: 2007-10-22 17:59:00
状态: 离线
威望: 444.00
金钱: 3355.00 元
只看楼主 2007-11-07 17:10
优化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顶死了,如果再高,系统受不了。

Chinaz^com

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

Chinaz@com


ulimit-uunlimited Www@Chinaz@com

这个参数要在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



huahua 最后编辑于 2007-11-14 09:25:38
#1  
发表新主题 回复该主题
本主题被查看584次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第







现在的时间是 2008-10-12 08:34:13

版权所有 商都网教育宝典
         Powered by Discuz!NT 1.0.6666    Copyright © 2001-2008 Comsenz Inc.
Processed in 0 seconds