Apache出现大量的CLOSE_WAIT状态连接


一台运行Apache的Web服务器,前面有Squid,出现大量的CLOSE_WAIT连接,直接占满TCP队列,导致Apache失去响应。

一般来说,在一次正常的HTTP连接结束时,按正常的次序应该是服务器先发出FIN信号,客户端确认,然后客户端再发出FIN信号,服务端确认。如果客户端因为某种原因先于服务端发出了FIN信号,就会导致服务端被动关闭。

-------------------------------------

通过下列Linux内核参数来解决问题:

sysctl -w net.ipv4.tcp_keepalive_time=30
sysctl -w net.ipv4.tcp_keepalive_probes=2
sysctl -w net.ipv4.tcp_keepalive_intvl=2

注意:Linux的内核参数我调整的可能有些猛,到底合不合适要注意观察。

参考链接:
http://ipsysctl-tutorial.frozentux.net/
http://haka.sharera.com/blog/BlogTopic/32309.htm

本文作者:



相关阅读:
SQL 语句优化方法30例
一道关于php变量引用的面试题
利用discuz自带通行证整合dedecms的方法以及文件下载
css 条件注释使用指南
间距浮动与对齐的最佳方案
Sql Server的复制功能快速学习
MySQL权威指南读书笔记(二)
ajax实时任务提示功能的实现代码
VBS教程:方法-Exists 方法
JavaScript delete 属性的使用
phpMyAdmin下将Excel中的数据导入MySql的图文方法
删除无限级目录与文件代码共享
javascript权威指南 学习笔记之javascript数据类型
javascript一些实用技巧小结
快速导航

Copyright © 2016 phpStudy |