apache服务器的fin_wait1过多time_wait过多问题解决
2011-05-17 21:58
447 查看
apache服务器的fin_wait1过多time_wait过多问题解决 1、fin_wait1状态过多。fin_wait1状态是在server端主动要求关闭tcp连接,并且主动发送fin以后,等待client端回复ack时候的状态。fin_wait1的产生原因有很多,需要结合netstat的状态来分析。
netstat -nat|awk '{print awk $NF}'|sort|uniq -c|sort -n
上面的命令可以帮助分析哪种tcp状态数量异常
netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n
则可以帮助你将请求80服务的client ip按照连接数排序。
2、time_wait状态过多。
通常表现为apache服务器负载高,w命令显示load average可能上百,但是web服务基本没有问题。同时ssh能够登陆,但是反应非常迟钝。
原因:最可能的原因是httpd.conf里面keepalive没有开,导致每次请求都要建立新的tcp连接,请求完成以后关闭,增加了很多time_wait的状态。另,keepalive可能会增加一部分内存的开销,但是问题不大。
分析:如果发现fin_wait1状态很多,并且client ip分布正常,那可能是有人用肉鸡进行ddos攻击、又或者最近的程序改动引起了问题。一般说来后者可能性更大,应该主动联系程序员解决。
但是如果有某个ip连接数非常多,就值得注意了,可以考虑用iptables直接封了他。
netstat -nat|awk '{print awk $NF}'|sort|uniq -c|sort -n
上面的命令可以帮助分析哪种tcp状态数量异常
netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n
则可以帮助你将请求80服务的client ip按照连接数排序。
2、time_wait状态过多。
通常表现为apache服务器负载高,w命令显示load average可能上百,但是web服务基本没有问题。同时ssh能够登陆,但是反应非常迟钝。
原因:最可能的原因是httpd.conf里面keepalive没有开,导致每次请求都要建立新的tcp连接,请求完成以后关闭,增加了很多time_wait的状态。另,keepalive可能会增加一部分内存的开销,但是问题不大。
分析:如果发现fin_wait1状态很多,并且client ip分布正常,那可能是有人用肉鸡进行ddos攻击、又或者最近的程序改动引起了问题。一般说来后者可能性更大,应该主动联系程序员解决。
但是如果有某个ip连接数非常多,就值得注意了,可以考虑用iptables直接封了他。
相关文章推荐
- apache服务器的fin_wait1过多time_wait过多问题解决
- apache服务器的fin_wait1过多time_wait过多问题解决
- apache服务器的fin_wait1过多time_wait过多问题解决
- TCP之再谈解决服务器TIMEWAIT过多的问题
- TCP之再谈解决服务器TIMEWAIT过多的问题
- TCP之再谈解决服务器TIMEWAIT过多的问题
- TCP之再谈解决服务器TIMEWAIT过多的问题
- TCP之再谈解决服务器TIMEWAIT过多的问题
- linux 下解决timewait 过多的问题
- 解决TIME_WAIT过多问题
- 解决TIME_WAIT过多问题
- 解决WEB(apache)服务器time_wait过高的性能优化过程
- Apache查看并发及TIME_WAIT过多的解决
- 解决TIME_WAIT过多问题
- 解决TIME_WAIT造成的服务器无法访问,Apache的KeepAlive和TCP/IP的TIME_WAIT
- 解决TIME_WAIT过多问题(转)
- 解决TIME_WAIT过多造成的问题
- 解决linux下time_wait过多的问题
- 解决TIME_WAIT过多问题(转)
- LINUX下解决time_wait连接过多和同一IP连接过多的问题 及 TCP/IP TIME_WAIT状态原理