修改win注册表取消TCP连接数的限制

修改win注册表取消TCP连接数的限制
修改win注册表取消TCP连接数的限制

修改w i n注册表取消

T C P连接数的限制 This manuscript was revised on November 28, 2020

w i n7注册表修改,取消T C P连接数的限制

余勇俊

在注册表

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 里

在Windows7下,用户必须右键-新建DWORD(32-bit)值,并命名为

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters 依次展开:

新建MaxUserPort:

输入数值数据ffff:

然后确定。如果原来就已经MaxUserPort项,修改它的值为ffff即可。

最大TCP连接数

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameter s]

TcpNumConnections=0x00fffffe(Default=16,777,214)

最大动态端口数

TCP客户端和服务器连接时,客户端必须分配一个动态端口,默认情况下这个

动态端口的分配范围为1024-5000,也就是说默认情况下,客户端最多可以同

时发起3977个Socket连接。我们可以修改如下注册表来调整这个动态端口的范围

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameter s]

MaxUserPort=5000(Default=5000,Max=65534)

最大TCB数量

系统为每个TCP连接分配一个TCP控制块(TCPcontrolblockorTCB),这个控制块用于缓存TCP连接的一些参数,每个TCB需要分配0.5KB的pagepool和

0.5KB的Non-pagepool,也就说,每个TCP连接会占用1KB的系统内存。

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

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameter s]

MaxFreeTcbs=2000(Default=RAMdependent,butusualPro=1000,Srv=2000)

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

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

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

最大TCBHashtable数量

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

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

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

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

IBMWebSphereVoiceServer在windowsserver2003下的典型配置

这是IBMWebSphereVoiceServer的典型配置,大家可以做个参考。IBMWebSphereVoiceServer配置

MaxUserPort=65534(Decimal)

MaxHashTableSize=65536(Decimal)

MaxFreeTcbs=16000(Decimal)

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

修改完注册表后重启电脑生效。

重启系统后,在cmd命令行,输入:netstat-a-s查看本机的tcp连接数的情况。下面是LR11施加1000并发用户的压力下,win764位系统的对外TCP连接数统计,有8900个。

相关主题
相关文档
最新文档