zoukankan      html  css  js  c++  java
  • 关于Apache连接数限制的设置

    昨天晚上收到监视团队的电话,说web服务器连不上。(作为DBA,这貌似超出了我的工作范畴啊...)

    于是马上VPN连上服务器,发现网络负载均衡下的两台Apache服务器都没有响应,而服务器OS层面上正常。 大概十来分钟后自动恢复正常。

    通过检查Apache的错误日志,两台服务器都发现了类似如下的错误,而且错误发生的时间几乎是同时。

    [Thu Sep 18 20:46:13 2014] [warn] Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting

    [Thu Sep 18 20:50:54 2014] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.

    [Thu Sep 18 20:50:54 2014] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.

    [Thu Sep 18 20:50:54 2014] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.

    原来是向Apache服务器请求的Request已经超过了所设置的同时连接数。

    检查后发现我们的两台Apache服务器除了有个lb设置,其它都是默认的......

    于是,我修改了如下配置:

    修改D:webServerconfextrahttpd-mpm.conf文件

    <IfModule mpm_winnt_module>

    ThreadsPerChild 512

    MaxRequestsPerChild 5000

    </IfModule>

    修改D:webServerconfhttpd.conf文件,将下面的注释#解除。

    #Include conf/extra/httpd-mpm.conf

    同时,为了能监视目前的连接数,进行了如下设置修改:

    修改D:webServerconfhttpd.conf文件,将下面的注释#解除。

    #Include conf/extra/httpd-info.conf

    修改D:webServerconfextrahttpd-info.conf文件,增加如下内容:

    <location /c-server-status>

    SetHandler server-status

    Order Deny,Allow

    Deny from nothing

    Allow from all

    </location>

    这样,通过 web服务器ip/c-server-status 可以监视Apache目前的状态。

    关闭/启动Apache服务器,打完收工。

    下面是通过Zabbix监视apache的设置例子: http://www.infoscoop.org/blogjp/2014/09/01/zabbix-apache-monitoring/

  • 相关阅读:
    Java中的阻塞队列
    大数据笔记
    物联网小笔记
    shell 笔记
    Redis笔记
    rabbitMQ笔记
    java.lang.NoClassDefFoundError: freemarker/template/Template
    分布式系列学习-事务处理
    免费无需破解xshell xftp下载
    idea maven模块变灰或者java文件夹非 Sources文件夹
  • 原文地址:https://www.cnblogs.com/ajiangg/p/3981423.html
Copyright © 2011-2022 走看看