昨天晚上收到监视团队的电话,说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:\webServer\conf\extra\httpd-mpm.conf文件

<IfModule mpm_winnt_module>

ThreadsPerChild 512

MaxRequestsPerChild 5000

</IfModule>

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

#Include conf/extra/httpd-mpm.conf

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

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

#Include conf/extra/httpd-info.conf

修改D:\webServer\conf\extra\httpd-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/

关于Apache连接数限制的设置的更多相关文章

  1. Linux下的Apache和PHP安全设置,如何开启PHP的安全模式

    Linux下的Apache和PHP安全设置 PHP安全模式开启,PHP5.3将不再有安全模式. (1) safe_mode:以安全模式运行php; 在php.ini文件中使用如下 safe_mode ...

  2. paip.输出内容替换在Apache 过滤器filter的设置

    paip.输出内容替换在Apache 过滤器filter的设置 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog ...

  3. Apache中的权限设置

        今天,我们的关注点就集中在 order deny,allow 这个语句中.在网上找了些资料,对它有了一些了解,写在这儿. 我们可能对apache中这个权限设置可能不太清楚,不同的顺序对权限到底 ...

  4. MySQL中的max_connections和max_user_connections 及 MySQL服务器最大连接数的合理设置

    max_connections 是指整个mysql服务器的最大连接数: max_user_connections 是指每个数据库用户的最大连接数,比如:虚拟主机可以用这个参数控制每个虚拟主机用户的数据 ...

  5. 在Apache中利用ServerAlias设置虚拟主机接收多个域名和设置域名泛解析

    ServerAlias:服务器别名,在Apache中可以用于设置虚拟主机接收到个域名,也可以用于接收泛解析的域名.具体的设置方法如下: 一.用于设置虚拟主机接收多个域名 一个虚拟主机常常会接收多个域名 ...

  6. nginx前端负载,后端apache获取真实IP设置

    原文链接: nginx前端负载,后端apache获取真实IP设置 参考文献: 前端Nginx,后端Apache获取用户真实IP地址  按照第二种方法设置不成功! 网站最前端是nginx,做的PROXY ...

  7. MySQL服务器最大连接数的合理设置

    MySQL服务器的连接数并不是要达到最大的100%为好,还是要具体问题具体分析,下面就对MySQL服务器最大连接数的合理设置进行了详尽的分析,供您参考. 我们经常会遇见“MySQL: ERROR 10 ...

  8. Apache 中 .htaccess 文件设置技巧16则

    .htaccess 文件 (Hypertext Access file) 是Apache Web服务器的一个非常强大的配置文件,对于这个文件,Apache有一堆参数可以让你配置出几乎随心所欲的功能.. ...

  9. MySQL 连接数相关参数设置

    当我们的数据库服务器遇到如下的错误:ERROR: Too many connections 一种可能性就是我们的压力确实很大,需要增加服务器硬件资源或者增加数据库服务器.但是大多数情况下是我们的连接数 ...

随机推荐

  1. php -- 正则替换

    ----- 019-regex_replace.php ----- <!DOCTYPE html> <html> <head> <meta http-equi ...

  2. 堆与堆排序/Heap&Heap sort

    最近在自学算法导论,看到堆排序这一章,来做一下笔记.堆排序是一种时间复杂度为O(lgn)的原址排序算法.它使用了一种叫做堆的数据结构.堆排序具有空间原址性,即指任何时候都需要常数个额外的元素空间存储临 ...

  3. MongoDB安装配置教程

    数据是每一前端人员必定接触的一样,所有的数据都是后端来编写,如果自己想练习项目,却没有数据,而是写一些假数据,去编写,或者通过json-server搭建一个数据,今天我们就通过MongoDB来搭建一个 ...

  4. 基于boot2docker部署Docker环境

    Docker轻量级的特性使得我们可以快速打包开发环境:一处编译,到处使用.我们可以在第一次编译好需要的开发环境,然后把镜像导出打包,只有有docker环境,便可以快速还原原来的开发环境. 很常用的一个 ...

  5. JAVA微信服务号开发简记

    现在微信公众平台的开发已经越来越普遍,这次开发需要用到微信公众平台.所以这边做一个简单的记录,也算是给那些没踩过坑的童鞋一些启示吧.我将分几块来简单的描述一下,之后会做详细的说明. 基本认证信息说明 ...

  6. laravel 标签

    变量标签 {$名} 数组变量标签 {{$名[key]}} 变量调节器 在标签中直接使用php函数,写法和php中一样 条件标签 @if(条件) @endif @if(条件) @else @endif ...

  7. 并发编程之 Thread 类过期方法和常用方法

    前言 在 Java 刚诞生时,Thread 类就已经有了很多方法,但这些方法由于一些原因(有一些明显的bug或者设计不合理)有些已经废弃了,但是他们的方法名却是非常的好,真的是浪费.我们在进行并发必编 ...

  8. 任意的组合,数组或数组,数组或list,list或list不用循环得出匹配的总数和需要的字段列

    var res = list.Where(p=> list2.Any(x=>x.Id == p.Id));var count = res.Count();var ids = res.Sel ...

  9. Git(二)_基本命令

    0. 开始查看所有配置:git config --listgit config --global user.name "runoob"git config --global use ...

  10. JS DOM操作(五) Window.docunment对象——操作元素

    定位: var a = document.getElementByIt( "id" ) 同辈元素 var b = a.nextSibling;            -- 找 a ...