apache的负载问题

apache的负载问题

今天感觉访问服务器时快时慢,有的时候还出现打不开的情况,看了下连接数,好像也没有到最大,对apahce的连接数做过修改了
StartServers         10
MinSpareServers      10
MaxSpareServers      15
ServerLimit          2000
MaxClients           2000
MaxRequestsPerChild  10000

使用ps -ef | grep httpd | wc -l

  返回结果:
  2002

看了看现在的连接数,用
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

返回结果:

LAST_ACK 17
SYN_RECV 31
CLOSE_WAIT 20
ESTABLISHED 1550
FIN_WAIT1 99
FIN_WAIT2 386
TIME_WAIT 1306


大家帮忙看看是不是负载方面的问题,ping服务器的话很稳定,速度在2秒左右,丢包率大概在1%。
SYN_RECV 31 请求连接数也不低。
TIME—WITE较多吧。

服务器硬件配置呢呢?

sar 1 5 测试下。

互相学习,我也有此问题


QUOTE:
原帖由 hlgao 于 2008-6-9 16:42 发表
今天感觉访问服务器时快时慢,有的时候还出现打不开的情况,看了下连接数,好像也没有到最大,对apahce的连接数做过修改了
StartServers         10
MinSpareServers      10
MaxSpareServers      15
Serv ...

1.从你提供的信息来看.
你使用的prefork模式工作
最在用户连接数为2000,而这个命令"ps -ef | grep httpd | wc -l"显示为2002,表示已经达到最大请求数了.所以APACHE无法再产生新的进程来处理新的请求.有时会有打不开的现象.建议在RAM CPU允许的情况.加大MaxClients的值.
ESTABLISHED 1550,看上去也比较大.但不能仅从这里就判断你的负载较大.

2.你提供的信息不完整,请提供完整的信息,至少需要提供下面的信息
KeepAlive是on还是off
KeepAliveTimeout是多少S.
ps -ef | grep 80 | grep ESTAB | wc -l
服务器内存,CPU大小.以及使用率.

3.若是达到系统极限,建议分布负载,集群等解决办法.
楼上强,分析很到位哈。
学习了。
如果不增加服务器,有什么办法提升性能吗?
use zeus or nginx other than apache in order to solve your problem.