Windows 下单机最大TCP连接数

在做Socket 编程时,我们经常会要问,单机最多可以建立多少个 TCP 连接,本文将介绍如何调整系统参数来调整单机的最大TCP连接数。

Windows 下单机的TCP连接数有多个参数共同决定,下面一一介绍:

最大TCP连接数

[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]
TcpNumConnections = 0x00fffffe (Default = 16,777,214)

 

以上注册表信息配置单机的最大允许的TCP连接数,默认为 16M。这个数值看似很大,这个并不是限制最大连接数的唯一条件,还有其他条件会限制到TCP 连接的最大连接数。

最大动态端口数

TCP客户端和服务器连接时,客户端必须分配一个动态端口,默认情况下这个动态端口的分配范围为 1024-5000 ,也就是说默认情况下,客户端最多可以同时发起3977 个Socket 连接。我们可以修改如下注册表来调整这个动态端口的范围

[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]
MaxUserPort = 5000 (Default = 5000, Max = 65534)

 

最大TCB 数量

系统为每个TCP 连接分配一个TCP 控制块(TCP control block or TCB),这个控制块用于缓存TCP连接的一些参数,每个TCB需要分配 0.5 KB的pagepool 和 0.5KB 的Non-pagepool,也就说,每个TCP连接会占用 1KB 的系统内存。

系统的最大TCB数量由如下注册表设置决定

[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]
MaxFreeTcbs = 2000 (Default = RAM dependent, but usual Pro = 1000, Srv=2000)

非Server版本,MaxFreeTcbs 的默认值为1000 (64M 以上物理内存)

Server 版本,这个的默认值为 2000。

也就是说,默认情况下,Server 版本最多同时可以建立并保持2000个TCP 连接。

最大TCB Hash table 数量

TCB 是通过Hash table 来管理的,下面注册表设置决定了这个Hash table 的大小

HKEY_LOCAL_MACHINE \System \CurrentControlSet \services \Tcpip \Parameters]
MaxHashTableSize = 512 (Default = 512, Range = 64-65536)

这个值指明分配 pagepool 内存的数量,也就是说,如果MaxFreeTcbs = 1000 , 则 pagepool 的内存数量为 500KB

那么 MaxHashTableSize 应大于 500 才行。这个数量越大,则Hash table 的冗余度就越高,每次分配和查找 TCP  连接用时就越少。这个值必须是2的幂,且最大为65536.

 

IBM WebSphere Voice Server 在windows server 2003 下的典型配置

这是IBM WebSphere Voice Server 的典型配置,大家可以做个参考。原文参见

IBM Web Sphere Voice Server 配置

 

  • MaxUserPort = 65534 (Decimal)
  • MaxHashTableSize = 65536 (Decimal)
  • MaxFreeTcbs = 16000 (Decimal)

这里我们可以看到 MaxHashTableSize 被配置为比MaxFreeTcbs 大4倍,这样可以大大增加TCP建立的速度。

 

 

eaglet 其他的操作系统相关的文章


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
宽带最大 TCP 连接数测试是用于评估宽带网络的性能和稳定性的一种方法。通过这个测试,我们可以了解宽带网络的最大并发连接数,以及网络的负载能力。 进行宽带最大 TCP 连接数测试时,我们需要使用一定量的客户端设备,并通过这些设备与测试服务器建立 TCP 连接。在测试过程中,我们可以逐渐增加连接数,并观察网络的反应时间和数据传输速度等指标。 这个测试可以帮助我们确定宽带网络是否能够承载大规模的连接和数据传输。如果网络在连接数增加时出现延迟和带宽下降等问题,那么它可能存在性能瓶颈,需要进行优化或升级。 对于企业和机构来说,宽带最大 TCP 连接数测试对于评估网络的可靠性和稳定性非常重要。特别是对于需要承载大量在线用户或进行大规模数据传输的场景,测试结果将直接影响到用户体验和业务运营。 因此,在选择宽带服务提供商或升级网络时,进行宽带最大 TCP 连接数测试是一项必要的步骤。测试结果可以作为参考,帮助我们选择合适的宽带方案,并优化网络设置,以满足我们的需求。 总之,宽带最大 TCP 连接数测试是一种评估宽带网络性能和稳定性的方法,通过这个测试我们可以了解网络的最大并发连接数和负载能力。这个测试对于企业和机构来说尤为重要,可以帮助我们选择合适的宽带方案,并优化网络设置,以提供更好的用户体验和业务运营。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值