修改win7 注册表,取消TCP连接数的限制由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“win10修改tcp连接数”。
win7 注册表修改,取消TCP连接数的限制
余勇俊 2015.10.14
在注册表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters里
在Windows 7下, 用户必须右键-新建DWORD(32-bit)值,并命名为
HKEY_LOCAL_MACHINE System CurrentControlSet Services Tcpip Parameters依次展开: 新建MaxUserPort:
输入数值数据ffff:
然后确定。如果原来就已经MaxUserPort项,修改它的值为ffff即可。
最大TCP连接数
[HKEY_LOCAL_MACHINE System CurrentControlSet Services Tcpip Parameters] TcpNumConnections = 0x00fffffe(Default = 16,777,214)
最大动态端口数
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建立的速度。
修改完注册表后重启电脑生效。
重启系统后,在cmd命令行,输入:netstat-a-s 查看本机的tcp连接数的情况。下面是LR11施加1000并发用户的压力下,win7 64位系统的对外TCP连接数统计,有8900个。