web服务器经常崩溃

web服务器经常崩溃

有个网站,两台服务器,外面用f5做LoadBalance,两台服务器使用的都是apache,然后数据库会去连内网的机器
这几天经常出现两台服务器负载达到上千,根本连都连不上去了,负载大的时候我看了下连接,一般是这样的:
ESTABLISHED 30-40
FIN_WAIT1 2
TIME_WAIT 100多

其中TIME_WAIT 大多数是与数据库的连接。。。。

以下是apache的配置:

[Copy to clipboard] [ - ]
CODE:
Timeout 120
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 10(原来设定为30,后来改成10了)

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   15
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>

使用的是prefork

防火墙上也未发现攻击的迹象。。
我估计是apache的设定问题,因为以前使用squid做反向代理的,从来没有这种情况,只是有时候内存吃紧,但是服务器负载不会大的,不知道这次是为什么了?


QUOTE:
原帖由 Dreamhat 于 2008-4-24 10:49 发表
有个网站,两台服务器,外面用f5做LoadBalance,两台服务器使用的都是apache,然后数据库会去连内网的机器
这几天经常出现两台服务器负载达到上千,根本连都连不上去了,负载大的时候我看了下连接,一般是这样 ...

ESTABLISHED 30-40
FIN_WAIT1 2
TIME_WAIT 100多
这样的连接树能导致负载上千吗?
怀疑
给你个思路
负载特别大的时候,关掉apache看看负载能不能降低下来,或者是不是还有别的服务,也依次关掉看看问题出在谁身上
估计问题出在网站程序上面或者跟网站程序有关的权限问题或者跟apache有关的权限问题
另外还有一个办法,对比一下出问题前后都做了哪些修改,依次回退一下,这个办法保证查出问题
关注这个问题
负载上千的情况我只遇到过一次,是一个超大规模邮件系统频繁读取文件造成大量io_wait产生的
你也看看有没有这样问题
目前还没有再次发生过。。。
负载大的时候别说关httpd了,在console端连系统都登不进去
学习下.还没有遇到过.
ServerLimit      256
MaxClients       256

太小了。。。


QUOTE:
原帖由 real_lufeng 于 2008-4-24 22:40 发表
关注这个问题
负载上千的情况我只遇到过一次,是一个超大规模邮件系统频繁读取文件造成大量io_wait产生的
你也看看有没有这样问题

如果是这问题怎么解决呢?