当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Apache重负荷服务器应如何优化

Linux服务器
在UbuntuLinux上架设Web服务器详解
Linux系统下实现多线程客户/服务器
RedHatAS4WEB服务及虚拟主机配置指南
UBUNTU里架设SquirrelMail邮件服务器
ApacheServer负载能力测试
Apache门户项目组介绍
监视并记录Apache网站服务器的运行
OpenBSD自带ftpd程序搭建ftp服务器
FreeBSD6.0-下建立高速DNS缓存服务器
OpenBSD3.8+PF+PFSYNC+CARP
Linux服务器存储空间巧妙管理
Slackware10.2做NAT服务器
浅析Apache服务器中SSI和CGI设定方法
linux下rsh的无密码登录配置
利用VSFTP架设Linux下的FTP站点
CentOS下用OpenSSH构建SSH服务器
Linux下用pptp连接VPN服务器
Linux下配置功能完善的Web服务器
Linux服务器启动过程详解
基于Linux操作系统实现的传真系统

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 54 ::
收藏到网摘: n/a


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