[转帖]windows下单机最大tcp连接数(代码片段)

jinanxiaolaohu jinanxiaolaohu     2023-04-30     231

关键词:

Windows 下单机最大TCP连接数

https://www.cnblogs.com/eaglet/archive/2010/09/21/1832233.html

 

在做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建立的速度。

服务器最大tcp连接数及调优汇总(代码片段)

...于提高任务并发度,提高系统吞吐能力,改善系统性能。单机最大tcp连接数网络编程在tcp应用中,server事先在某个固定端口监听,client主动发起连接,经过三路握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少?如何... 查看详情

windows怎么查看tcp连接数

连接数查看及更改方法:快捷键WIN+R,打开运行,输入regedit,打开注册表编辑器;找到HKEY_LOCAL_MACHINESYSTEM\CurrentControlSet\Services\Tcpip\Parameters;在右侧面板中找到EnableConnectionRateLimiting键值;此时,总计有三种情况:无... 查看详情

怎样修改windows服务器中最大的tcp连接数?

...为250。1、众所周知,为了防范蠕虫病毒的传播和攻击,WindowsXPSP2将并发线程最多限制为10个。SP2利用Messages动态链接库,来实时监控每个进程的并发线程数目,一旦它发现某进程的线程数超过10个,就会屏蔽掉部分线程。2、TCP客... 查看详情

tcp的连接数量

转载单机最大tcp连接数网络编程在tcp应用中,server事先在某个固定端口监听,client主动发起连接,经过三路握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少?如何标识一个TCP连接在确定最大连接数之前,先来看看系... 查看详情

socket最大连接数探索記錄及tcp參數優化

对于单机server,单机可以接受的(tcp)最大连接数是多少?  socket是系统的一个操作系统句柄,不是本地端口。对于TCP链接来说,由本地的IP、PORT、远端的IP、PROT,来唯一确定一个连接,即TCP得socket。  服务器創建Socket过程... 查看详情

linux下解决高并发socket最大连接数限制,tcp默认1024个连接(代码片段)

 linux作为服务器系统,当socket运行高并发TCP程序时,通常会出现连接建立到一定个数后不能再建立连接的情况  本人在工作时,测试高并发tcp程序(GPS服务器端程序),多次测试,发现每次连接建立到1000左右时,再也不能建... 查看详情

一台服务器​最大并发tcp连接数多少?65535?

...client主动发起连接,经过三次握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少呢?如何标识一个TCP连接在确定最大连接数之前,先来看看系统如何标识一个tcp连接。系统用一个4四元组来唯一标识一个TCP连接:localip,... 查看详情

一台服务器​最大并发tcp连接数多少?65535?

...t主动发起连接,经过三次握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少呢?如何标识一 查看详情

修改windows服务器最大的tcp连接数

参考技术A在用jmeter做压测时,会遇到线程数超过5000时报错,这个错并不是程序的错,而是请求被我们本地的服务器给拒绝了。这时候就需要我们修改本地服务器的注册表了。注:我这里新建的是“二进制值(B)”类型的,上面... 查看详情

在windows2003下,怎样使用命令来统计tcp连接状态数

参考技术A如果不借助三方软件,只用NT自带的命令,可以用netstat命令,具体的格式如下:可以直接用命令netstat,不加任何参数,但会显示当前系统所有的连接,如果只查看TCP连接,则可以加参数,格式如下:有问题,请追问我... 查看详情

单台服务器最大tcp连接

...常出现这种情况tcp连接数过多netstat  -an  windows查看tcp连接数 那么怎么增加单台服务器的最大连接数呢?    最简单的办法,增加内存,socket连接大概10多kb一个详情  https://www.cnblogs.com/duanxz 查看详情

怎样修改windows服务器中最大的tcp连接数?

在做性能测试测试时候,如果被测试的系统页面很简单,并且性能很好,这样会导致压力机得tcp链接数不够而导致如下错误:HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\tcpip\\Parameters\\TcpTimedWaitDelayto30andHKEY_LOCAL_MACHINE\\System\\Current... 查看详情

怎样修改windows服务器中最大的tcp连接数?

参考技术A在做性能测试测试时候,如果被测试的系统页面很简单,并且性能很好,这样会导致压力机得tcp链接数不够而导致如下错误:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\TcpTimedWaitDelayto30andHKEY... 查看详情

[转帖]如何查看windows某个目录下所有文件/文件夹的大小?(代码片段)

https://www.cnblogs.com/gered/p/10208281.html挺好的工具linux上面我就是使用du-ah--max-depth=1来查看了windows有这么一个好用的工具也挺好呢.  如何查看windows某个目录下所有文件/文件夹的大小?TreeSizeFree绿色汉化版是一款硬盘空间管理... 查看详情

markdownlinux下查看http并发和tcp连接数(代码片段)

查看详情

linux配置支持高并发tcp连接(socket最大连接数)

Linux配置支持高并发TCP连接(socket最大连接数)Linux配置支持高并发TCP连接(socket最大连接数)及优化内核参数  2011-08-0915:20:58|  分类:LNMP&&LAMP|  标签:内核调优  文件系统调优  高并发调优&n... 查看详情

求java网络高手,tcp最大连接问题

System32下有个TCPIP.sys文件,是管理TCP最大连接数的系统配置文件,网上也有工具可以进行修改这个最大连接数。我的疑问是,这个最大连接数到底是限制了谁的数目?通过软件查看这个最大连接数,我的系统默认是10.进入到cmd下... 查看详情

lwip细节之一:tcp最大链接数(代码片段)

...接分配不同的TCP_PCB控制块。然而lwIP能分配的TCP_PCB控制块最大数目是编程人员指定的。这是因为嵌入式硬件RAM都很少,而每个TCP_PCB都要占用RAM,具体数目根据配置的不同而不同,我这边的典型配置每个TCP_PCB占用164字... 查看详情