ITPub博客

首页 > 数据库 > Oracle > windows如何处理大量time_wait

windows如何处理大量time_wait

原创 Oracle 作者:一米阳光win 时间:2022-10-27 16:00:04 0 删除 编辑

在windows+nginx+tomcat平台,发现连接稍微一大,访问就有问题。在主机上通过netstat进行查看时,也发现有大量time_wait的情况 。在linux平台上这个问题非常好解决,通过sysctl.conf调节tcp/ip参数即可。windows下经确认也有类似的调节机制,其叫dynamicportrange。

一、windows7/win2008平台下

1、查看可用端口数

以下是我在win7下查看的结果

C:\Users\thinkpad>netsh int ipv4 show dynamicportrange tcp

协议 tcp 动态端口范围

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

启动端口 : 1025

端口数 : 13976

win2008下经查是 49152 through 65535 ,可用端口数16384个。

2、netsh命令修改可用端口数

netsh int ipv4 set dynamicport tcp start=2000 num=63000

netsh int ipv4 set dynamicport udp start=2000 num=63000

netsh int ipv6 set dynamicport tcp start=2000 num=63000

netsh int ipv6 set dynamicport udp start=2000 num=63000

3、time_wait超时时间调整

regedit打开注册表,添加

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

“MaxUserPort”=dword:0000fffe

“TcpTimeWaitDelay”=dword:0000005 (缩短为5秒)

参考页面,微软support页。

二、windows xp/win2003

以下是从一些网站上找到的信息:

windows下如何可用连接调节及time_wait调优

基于上很多网站只提示了win2003的可用端口范围,但并没有给出怎么去调节win2003主机的端口调节方法 。这里同样通过微软官方技术站,找到了修改方法。

1、修改可用端口范围

打开注册表--定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters --编辑新建DWORD Value ,新增MaxUserPort

Value data: Enter a decimal value between 5000 and 65534 here

需要特别注意,修改完成后,需要重启主机生效。

2、修改time_wait值

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

On the Edit menu, click New, DWORD Value

Value name:TcpTimedWaitDelay

Value data :

默认值是240秒(可用范围是30-300),这里修改为30秒后,重启系统使修改生效。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31540281/viewspace-2920694/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
教育行业数据库老兵一枚,拥有Oracle 11g OCM,Oracle 12c OCM,MySQL OCP,DCA,PGCA,KCA,KCP,OBCA,TDSQL,TBase等认证。

注册时间:2018-06-02

  • 博文量
    15
  • 访问量
    12214