Httpd2.4响应变慢没有反应的解决方法,甚至造成服务器死机的解决方法

郁闷了几天终于搞明白了httpd2.4被访问时经常出现超时和响应慢,甚到出现服务器假死的原因

  1. 编辑httpd.conf文件,在其后面添加  
    AcceptFilter http none    
    AcceptFilter https none
  2. 更改httpd的响应与超时设置,首先开启Include conf/extra/httpd-default.conf
    然后更改httpd-default.conf的值 ,相关的能数可以根据自己服务器的状态进行设置
    Timeout 60 (连接超时时间)建议设小些 20
    KeepAlive On (开启可以提高性能,因为一个页面一般会有多个请求)
    MaxKeepAliveRequests 100 (这个数目自己根据网页内容调节) 我设成了50
    KeepAliveTimeout 5 (这个小于Timeout就行)

  3. 开启mpm  
    Include conf/extra/httpd-mpm.conf
    使用httpd -l查看系统使用的是哪种mpm(windows使用的是winnt)


    修改其对应的模块配置
    <IfModule mpm_winnt_module>
    ThreadsPerChild    1000
    MaxRequestsPerChild    10000
    </IfModule>
    ThreadsPerChlid是Apache进程的子线程数,这个指令设置了每个子进程建立的线程数。子进程在启动时建立这些线程后就不再建立新的线程了
    MaxRequestsPerChild是进程的最大的请求数目,既指网站收到请求的缓存数。设置太小了会影响服务器性能,因为会占用较多cpu时间,太大了则会占用内存资源。一般大型的网站文件个数都是成千上万,所以管理员应该根据网站情况自己设定。

    MaxRequestsPerChild指令设置每个子进程在其生存期内允许伺服的最大请求数量。到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为"0",子进程将永远不会结束。
    在mpm_netware和mpm_winnt上的默认值是"0"。
    将MaxRequestsPerChild设置成非零值有两个好处:
    a)可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
    b)给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量



如果帮您解决了相关问题,请您帮我点个赞哦!




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值