您当前的位置: 首页 > windows教程 > 电脑技巧 > Win2003下Apache性能优化

Win2003下Apache性能优化

作者:不详 来源:网络 发布时间: 2011-09-14 13:44 点击:
一直习惯在Solaris和linux下跑amp,前些时服务器硬盘坏掉,所以启用新服务器。新系统是Windows2003Server,在上面按Unix上的经验配置Apache和Mysql时问题多多,经过折腾,总算是让服务器稳定下来,总结问题和解决办法如下(apache2.2.8+Mysql5.0.51a+php5.2.5): 1、Apac

Win2003下Apache性能优化

  一直习惯在Solaris和linux下跑amp,前些时服务器硬盘坏掉,所以启用新服务器。新系统是Windows2003Server,在上面按Unix上的经验配置Apache和Mysql时问题多多,经过折腾,总算是让服务器稳定下来,总结问题和解决办法如下(apache2.2.8+Mysql5.0.51a+php5.2.5):
  
  1、Apache线程数和超时设置
  
  Apache的线程数控制文件为conf/exrtra/http-mpm.conf,需要在httpd.conf中将Include conf/extra/httpd-mpm.conf前#去掉,以使得http-mpm.conf生效。
  
  在Windows系统中,起作用的是Winnt mpm段,
  
  <IfModule mpm_winnt_module>
  
  ThreadsPerChild150
  
  MaxRequestsPerChild0
  
  </IfModule>
  
  缺省的配置一般够用,但负荷大的网站就要修改了,否则网站一下就变慢或没有响应了。实际可以根据apache-status查看apache实时连接状态,我的服务器最后设置如下:
  
  <IfModule mpm_winnt_module>
  
  ThreadsPerChild350
  
  ThreadLimit350
  
  MaxRequestsPerChild10000
  
  Win32DisableAcceptEx
  
  EnableMMAP Off
  
  EnableSendfile Off
  
  </IfModule>
  
  其中ThreadLimit是占用系统线程数限制,最好加上,否则会产生内存溢出导致Apache当掉。
  
  MaxRequestsPerChild我理解是请求的缓存数,太小了影响性能,占用cpu时间,太大了占用内存资源,想象一下你网站的文件个数,然后自己设定,只要不为0就可以,防止内存溢出。
  
  ThreadsPerChlid是apache的线程数,就是开了这么多的线程来等待响应客户端请求,需要根据apache-status实时的监控调节,大了会占用过多内存,小了会导致连接不上。而且应该同时修改httpd-default.php超时设置来配合。
  
  在httpd.conf中去掉Include conf/extra/httpd-default.conf前的#以使httpd-default.php生效。
  
  其中调节以下参数
  
  Timeout15(连接超时缺省为300,太大了,缩小会减少同时连接数,即上面占用的实际线程数)
  
  KeepAlive On(开启可以提高性能,因为一个页面一般会有多个请求)
  
  MaxKeepAliveRequests50(这个数目自己根据网页内容调节)
  
  KeepAliveTimeout5(这个小于Timeout就行)
  
  Windows下长期运行Apache还是不如Unix稳定,可以让Apache在凌晨人少时自动重启,用Windows的计划任务可以非常方便的实现这一点,这样网管基本上可以安心睡觉了。

分享到:
本文"Win2003下Apache性能优化"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4