windows 下解决 Time_Wait 和 CLOSE_WAIT 方法

修改Time_Wait参数的方法 (在服务端修改)
Windows下在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters,添加名为TcpTimedWaitDelay的
DWORD键,设置为30,以缩短TIME_WAIT的等待时间

解决CLOSE_WAIT的方法:(在客户端修改)
1 一般原因都是TCP连接没有调用关闭方法。需要应用来处理网络链接关闭。
2 对于Web请求出现这个原因,经常是因为Response的BodyStream没有调用Close.
比如Widnows下:
使用HttpWebRequest 一定要保证GetRequestStream和GetResponse对象关闭,否则容易造成连接处于CLOSE_WAIT状态
3 TCP的KeepLive功能,可以让操作系统替我们自动清理掉CLOSE_WAIT的连接。
但是KeepLive在Windows操作系统下默认是7200秒,也就是2个小时才清理一次。往往满足不了要求。可以调小该数值。
Windows下的调整方法为
HKEY_LOCAL_MACHINE/CurrentControlSet/Services/Tcpip/Parameters下的以下三个参数: 
KeepAliveInterval,设置其值为1000   www.2cto.com  
KeepAliveTime,设置其值为300000(单位为毫秒,300000代表5分钟) 
TcpMaxDataRetransmissions,设置其值为5
Close_Wait引发的问题:
Close_Wait会占用一个连接,网络可用连接小。数量过多,可能会引起网络性能下降,并占用系统非换页内存。 尤其是在有连接池的情况下(比如HttpRequest)
会耗尽连接池的网络连接数,导致无法建立网络连接

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

“KeepAliveTime”=dword:006ddd00
“KeepAliveInterval”=dword:000003e8
“MaxDataRetries”=”5″

时间: 2024-10-09 23:32:21

windows 下解决 Time_Wait 和 CLOSE_WAIT 方法的相关文章

谈应用环境下的TIME_WAIT和CLOSE_WAIT[转]

昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下: http://blog.csdn.net/shootyou/article/details/6615051 里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状态. 在服务器的日常维护过程中,会经常用到下面的命令: [plain] view plain copy print? netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) pr

再谈应用环境下的 TIME_WAIT 和 CLOSE_WAIT

转自:http://blog.csdn.net/shootyou/article/details/6622226 昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下: http://blog.csdn.net/shootyou/article/details/6615051 里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状态. 在服务器的日常维护过程中,会经常用到下面的命令: [plain] view plain copy print

再谈应用环境下的TIME_WAIT和CLOSE_WAIT

昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下: http://blog.csdn.net/shootyou/article/details/6615051 里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状态. 在服务器的日常维护过程中,会经常用到下面的命令: [plain] view plaincopyprint? netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) prin

windows下解决快捷键失效的万能方法

1. 问题描述 windows下快捷键(热键hot key)失效的主要原因是快捷键冲突. 2. 解决方法 下载工具软件 windows hotkey explorer, 并安装, 然后运行. 该工具可以列出windows下所有快捷键hot key及其占用进程. 找出冲突的快捷键, 将该冲突的快捷键的进程杀掉, 那我们所在环境的快捷键就生效啦. 如本人遇到的情况: eclipse的快捷键ctrl + alt + down快捷键按下无反应, 通过windows hotkey explorer找到占用

windows下解决mysql忘记密码

mysql有时候忘记密码了怎么办?我给出案例和说明!一下就解决了! Windows下的实际操作如下 1.关闭正在运行的MySQL. 2.打开DOS窗口,转到mysql\bin目录. 3.输入mysqld --skip-grant-tables回车.如果没有出现提示信息,那就对了. 4.再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录. 5.输入mysql回车,如果成功,将出现MySQL提示符 >   www.2cto.com 6. 连接权限数据库>use m

windows下TDD工具链建立方法

[ Cygwin + GCC + Unity] 第一步:安装cygwin及gcc 详细步骤可以参考 http://www.360doc.com/content/12/0506/01/7841810_208951162.shtml http://blog.csdn.net/bruce0532/article/details/5470215 步骤安装:到http://cygwin.com,点击"Install Cygwin Now!".这样会先下载一个叫做setup.exe的GUI安装程序

windows下彻底下载Oracle的方法

Windows下ORACLE完全卸载:使用OUI可以卸载数据库,但卸载后注册表和文件系统内仍会有部分残留.这些残留不仅占用磁盘空间,而且影响 ORACLE的重新安装及系统性能. 在WINDOWS下卸载ORACLE 10g的步骤:1 删除聚集同步服务CSS(Cluster Synchronization Services).如果数据库配置了自动存储管理ASM,应该先删除CSS服务,因为ORACLE不会自动删除这个服务.在DOS命令下使用localconfig delete命令可删除该服务.C:\D

Windows 下的内存泄漏检测方法

在 Windows 下,可使用 Visual C++ 的 C Runtime Library(CRT) 检测内存泄漏. 首先,我们在.c或.cpp 文件首行插入这一段代码: #define _CRTDBG_MAP_ALLOC #include <crtdbg.h> main() 中插入如下的代码: int main() { //开始的地方插入该语句 _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); //_CrtSetBr

Windows下解决python pip命令下载慢的方法(超简单)

首先,常用的国内镜像: 1 http://pypi.douban.com/simple/ 豆瓣 2 http://mirrors.aliyun.com/pypi/simple/ 阿里 3 http://pypi.hustunique.com/simple/ 华中理工大学 4 http://pypi.sdutlinux.org/simple/ 山东理工大学 5 http://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学 在windows文件管理器中输入“ %A