柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!
全部博文(1669)
分类: 系统运维
2012-10-19 09:21:24
2012-10-18 15:21:56| 分类: rhel_apache | 标签: |字号大中小
nagios监控前端apache 80端口,同时也有监控后端webserver的端口,偶尔会出现apache端口超时的报警。但是后端服务器响应正常。基本上确定问题出现在apache上。
登陆到机器上检查问题,通过以下几点基本上能确定问题所在了。
所以问题应该是并发访问量比较高,导致进程数已经达到配置中的限制。由于配置了长连接而且时间比较长15秒,所以在高并发的访问环境中导致没有空闲的进程来接收新的访问。这个时候访问就需要等待了。所以nagios会报超时。
分析下日志统计出每个访问基本上在5秒内就没有连续的请求了,因此把keepalivetimeout时间改成5秒。
然后reload配置文件。 apachectl -k graceful
对于几个apache的配置不是特别清楚特意记录一下。
服务器在断定请求失败前等待的秒数 | |
TimeOut seconds | |
TimeOut 300 | |
server config | |
核心(C) | |
core |
TimeOut指令用于设置Apache等待以下三种事件的时间长度:
我们计划在发展里程中,逐步把它们分别变得更易配置。计时器在1.2版本之前的默认值为1200,而现在已经设置为300了,但对于绝大多数情况来说仍是足够的。没有把它默认值设的更小的原因在于代码里还有点问题:有时发送一个包之后,计时器没有复位。
持久链接中服务器在两次请求之间等待的秒数 | |
KeepAliveTimeout seconds | |
KeepAliveTimeout 5 | |
server config, virtual host | |
核心(C) | |
core |
Apache在关闭持久连接前等待下一个请求的秒数。一旦收到一个请求,超时值将会被设置为指令指定的秒数。
对于高负荷服务器来说,KeepAliveTimeout值较大会导致一些性能方面的问题:超时值越大,与空闲客户端保持连接的进程就越多。