TCP关闭等待时间和最大可用端口数

本机测试TCP/IOCP重载时发现,只能连接不到4000个链接,链接满后浏览器都不好用了,查了半天原因,才从netsata中看出来,默认端口已用完,而且关闭时间也很漫长.

MaxUserPort 确定从系统请求任何可用用户端口时所用最大端口数,TCP/IP 可指定的最高端口号. 如果建立 TCP 连接最大端口连接大于 5000, 本地计算机响应以下错误信息WSAENOBUFS (10055): 因为系统缺乏足够缓冲区或者因为队列已满而无法执行套接字上操作, 从而导致应用程序的10048错误.
 

Microsoft :TcpTimedWaitDelay 项确定在 TCP 释放已关闭的连接并重用其资源之前必须经过的时间。关闭和释放之间的这段间隔称为 TIME_WAIT 状态或 2MSL 状态。在此期间,可以重新打开连接,对客户端和服务器来说这比建立新连接的成本要低得多。如果减小此项的值,则允许 TCP 更快地释放已关闭的连接,从而为新连接提供更多的资源。但是,如果该值过小,则 TCP 可能会在连接完成之前释放连接资源,要求服务器使用其他资源重新建立连接。建议在将 TcpTimedWaitDelay 项设置为其默认值 60


打开注册表编辑器regedit

TcpTimedWaitDelay 设置: (不推荐)
找到 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/TCPIP/Parameters 注册表子键
并创建名为 TcpTimedWaitDelay 并设置为双字节(DWORD)类型
设置此值为十进制 30 ~ 60
该值等待时间将是 30 ~ 60 秒。
本项的默认值:0xF0(16进制), 等待时间设置为 240 秒

MaxUserPort 设置(增加最大值端口连接):
找到 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/TCPIP/Parameters 注册表子键
并创建名为 MaxUserPort 的新 DWORD 值
设置此值为十进制最低 32768 (推荐值)
建议值为 65533 {有效范围: 5000 65534 (十进制)}
本项的默认值:5000(十进制)
说明: 此参数将控制程序从系统请求任何可用的用户端口时使用的最大端口数。 通常,1024 的值和包含的 5000 之间分配临时的(短) 端口。

退出注册表编辑器,并重新启动计算机。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值