精华内容
下载资源
问答
  • 修改服务器tcpip连接数
    千次阅读
    2021-08-09 02:16:53

    在做性能测试测试时候,如果被测试的系统页面很简单,并且性能很好,这样会导致压力机得tcp链接数不够而导致如下错误:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\TcpTimedWaitDelay to 30

    and HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\MaxUserPort to 65534

    and rebooting the machine

    See the readme.doc file for more information

    通过百度搜索介绍最多的还是让修改TimedWaitDelay 和MaxUserPort这2个值,其中是将TimedWaitDelay修改的相对小点,可以根据实际情况来定,

    同时将MaxUserPort这个值修改大些,但是修改完并重启机器后,该问题仍然存在,通过多方查资料,然后对一些注册表进行修改:

    [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.

    MaxUserPort = 65534 (Decimal)

    MaxHashTableSize = 65536 (Decimal)

    MaxFreeTcbs = 16000 (Decimal)

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

    更多相关内容
  • tcpip并发连接数修改

    2015-03-11 20:53:29
    tcpip并发连接数修改
  • 这是XP内核TCP/IP最大连接数修改工具,是一款可以提高Windows XP SP2的多线程访问速度的软件。软件说明XP sp2限制10个连接,严重影响了bt、电驴的下载速度,如果打算修改连接数的话,建议修改256个以上!提示:修改...

    这是XP内核TCP/IP最大连接数修改工具,是一款可以提高Windows XP SP2的多线程访问速度的软件。

    软件说明

    XP sp2限制10个连接,严重影响了bt、电驴的下载速度,如果打算修改连接数的话,建议修改256个以上!提示:修改后问你要不要重启,你不要点确定...否则就重启了!

    软件介绍

    微软08年1月份的更新,使得以前的半开连接补丁不能够正常使用。针对这一情况,我们马上更新了这个新的半开连接补丁,使用方法仍然同以前一样,提供给大家下载使用。

    使用说明

    如何修改TCP/IP并发连接数,网络上提供不少修改办法,但其中有不少是行不通的,本文将做详细分析.

    一、注册表修改法的误区

    二、使用工具来替换Tcpip.sys

    三、DOS下修改Tcpip.sys文件

    四、使用比特精灵附带的工具

    以上几种方法虽然提高了Windows XP SP2的多线程访问速度,但却降低了SP2的安全性能,如果你的电脑感染了病毒和木马,过多地启用新线程,会加速病毒和木马地蔓延,因此你在追求网络下载速度的同时,也要注意网络安全。建议你及时安装升级杀毒软件和防火墙,如果是普通用户,可以利用上面的方法,将TCP最大并发连接数设置为10~30,BT用户可以设置为100~150。

    软件截图

    d64dc79664697aeab398d0419a68cfed.png

    相关软件

    Win7开机画面修改工具:win7开机画面DIY器是一款Win7开机画面修改工具。你真想要有一个个性化的开机画面吗?试试这个工具吧!简单易用,只要一分钟就可以给你一个全新的开机画面,再也不用每天面对单调枯燥的Win7开机画面了。

    win10白色线条风格托盘图标修改工具:win10白色线条风格托盘图标修改工具是一款修改微信托盘图标工具,如果你用腻了微信托盘图标,那么就来下载这款修改工具,让微信托盘图标变得与众不同。

    展开全文
  • 理论单服可承载最大TCP连接数:2的48次方=2.81474976710656E14,即ip数(2的32次方)*ip数(2的16次方)个连接,但实际上连接数还受机器硬件配置的限制,所以,在部署服务器时,根据需要调试出你认为可以接受的范围即可...

    理论单服可承载最大TCP连接数:2的48次方=2.81474976710656E14,即ip数(2的32次方)*ip数(2的16次方)个连接,但实际上连接数还受机器硬件配置的限制,所以,在部署服务器时,根据需要调试出你认为可以接受的范围即可。

    ------------优化服务器单服可承载的最大tcp连接数

    在linux中,开启tcp连接实际上就是打开文件句柄,所以,可以打开多少文件句柄,就可以创建多少tcp连接。

    ----------全局配置,所有进程共享的上限

    查看系统配置最大句柄数   cat /proc/sys/fs/file-nr

    修改: /etc/sysctl.conf

    fs.file-max = 1000000

    net.ipv4.ip_conntrack_max = 1000000

    net.ipv4.netfilter.ip_conntrack_max = 1000000

    ---------单进程配置,单个进程独立的上限配置

    查看最大进程数  ulimit -u

    查看各种系统限制   ulimit -a

    查看进程最大句柄数 ulimit -n

    修改:/etc/security/limits.conf

    *(所有用户) soft(软限制) nofile(单进程可打开最大句柄) 1000000

    * hard(硬限制) nofile 1000000

    * soft nopro(最大进程数) 1000000

    * hard nopro 1000000

    在tcp连接的四次挥手过程中,有一个固定的连接断开等待时间配置,如果这个时间过长,就会造成大量等待断开链接状态的资源堆积,所以,调试出一个合理的等待时间,可以有效增加无效链接所占资源的回收利用。

    ----------linux优化tcp连接存活时间,关闭连接时等待时间

    修改/etc/sysctl.conf,添加如下几行:

    #改系統默认的TIMEOUT时间

    net.ipv4.tcp_fin_timeout=2

    #启重用,允许将TIME_WAIT sockets重新用于新的TCP连接 默认为0表示关闭

    net.ipv4.tcp_tw_reuse=1

    #开启TCP连接中TIME_WAIT sockets的快速回收 默认为0 表示关闭

    net.ipv4.tcp_tw_recycle=1

    以上就是linux服务器的一些配置上的优化。

    下面是使用windows作为客户端进行压力测试时,增大可创建tcp链接数的配置。

    ----------windows优化tcp连接关闭的四次握手中的等待时间,优化可用端口数

    对于windows环境,可通过修改注册表进行配置:

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

    添加一个DWORD类型的值TcpTimedWaitDelay,值可以根据实际情况配置。十进制 单位秒  最少30秒,最多300秒

    \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters

    添加一个DWORD类型的值MaxUserPort ,值可以根据实际情况配置。十进制 大概60000多点是上限

    通过上面的配置,我在本机测试的时候,本机同时作为服务器和客户端,可以创建到30000连接,再加上同事机器的20000连接,一共5万多的连接是上限,再多机器就受不了了,跑满内存,cpu跑满,我的机器配置是8G内存,4核,测试代码只是纯创建连接保持连接,发送消息,输出消息。

    如果使用tomcat作为服务器容器的话,tomcat也限制了最大连接数,通过下面的server.xml配置可以修改最大链接数。

    配置tomcat最大连接数

    enableLookups="false" maxConnections="500000" maxThreads="500" port="8180"

    protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443" />

    展开全文
  • 服务器用这个ip和端口号创建一个socket。这个socket用于监听来自外部的连接。当服务端收到外部客户端的connect请求,监听就会有一个返回。这时接受这个连接,就会创建一个socket用于和客户端通信。但是这个socket...

    我的理解

    一个socket对应的一个连接,而一个连接需要有{源ip,源端口号,目的ip,目的端口号}。

    当客户端创建一个socket,系统会默认分配一个端口。而服务端一般一个服务对外公开需要ip地址和端口号。而服务器用这个ip和端口号创建一个socket。这个socket用于监听来自外部的连接。当服务端收到外部客户端的connect请求,监听就会有一个返回。这时接受这个连接,就会创建一个socket用于和客户端通信。但是这个socket不占用本地的端口号,生成的这个socket 具有 {客户端ip,客户端port,本地服务端ip,本地服务端用于监听的端口号} 四个属性。也就是说一个socket不是和一个端口号一一对应的。而服务端socket最大限制来自哪里呢?比如linux服务器,那就是一个进程能打开文件的最大数量。所以服务端的最大连接数跟本地的端口数量没有一毛钱关系。反而客户端是有关系。因为客户端想要与服务器连接,就需要创建一个socket的去和服务器连接。而创建的这个socket是占用一个端口号的。所以客户端是有连接服务器最大数量限制的。还有端口号的数量是一个IP地址对应65535个,不是一个操作系统对应65535个。所以如果想要多个客户端socket的话,可以增加网卡数量,也可以为一个网卡分配多个ip。

     

    参考下面这个连接:

    https://blog.csdn.net/wangpeng322/article/details/99842126

    在性能测试过程中,经常会接触到链接数相关的问题,有一个问题曾经困扰我好长时间,那就是一台服务器最多能支持多少链接数呢?

    有的朋友可能会说是65535,因为操作系统有65535个端口,那么这个答案准确吗?

    首先先了解下如何标识一个链接(记住下面的概念,文章后面要用到),操作系统是通过一个四元组来标识一个TCP链接:

    {本地ip,本地port,远程ip,远程port}

    这四个要素唯一确定一个TCP链接,任意一个要素不相同,就认为是一个不同的链接。

    在Linux系统中,一切皆文件,每一个TCP链接都要占用一个文件句柄,系统允许创建的链接数取决于句柄数的上限。超过这个值再创建链接就会报这样的错误:

    “Can't open so many files"

    通过命令ulimit -n可以查看当前系统允许打开文件数量的上限,在Linux中这个值默认是1024,也就是说默认情况下,只能创建1024个链接。同时这个值也是可以修改的,通过修改/etc/security/limits.conf文件,可以把这个值改大,一般服务器都会改的很大,比如我们的服务器上一般设置为1000000。

    那这么说是不是就意味着只要我改的很大,链接数可以无限大了?

    其实也并不是这样,创建链接的时候,一般分为两个端,即链接的发起端和链接接收端。比如我们现在使用Jmeter进行压测,被测系统部署在Tomcat服务器10.0.0.3上,使用的是8080端口。如果我们用5个并发来进行压测的话,创建的链接如下图所示

     

    链接发起端

    对于Jmeter来说,它是链接发起端,Jmeter创建了5个链接去连接服务端的8080端口,每个新建链接会占用了一个端口号,如图中的10001-10005。在操作系统中,端口号的范围是0-65535,其中0-1024是预留端口号,不可使用,其他的端口都是可以使用的。也就是说,在链接发起端,受端口号的限制理论上最多可以创建64000左右链接。

    那么有没有办法超过这个限制呢,答案是肯定的!

    通过TCP标识的四元组可以看到,对于链接发起端,影响链接数的是本地ip和port,端口号受限于65535,已经没办法增加了。那我们可以增加本地ip来达到这个目的。一般情况下,服务器的一个网卡上只绑定了一个ip,对外通信都使用这个ip进行。其实网卡是支持一个绑定多个IP的(必须确保ip是有效的且未使用的)

    ifconfig eth0:1 10.0.0.5

    以上命令可以在eth0网卡上增加一个ip 10.0.0.5,服务器网卡每增加一个ip,就可以允许在这个ip上再创建65535左右的链接数。

    我曾经做过一个邮件网关的链接数测试,目的是为了测试网关服务器可以接收并且保持多少TCP长连接。正常情况下,受限于单台机器65535端口号的影响,客户端想创建25万TCP长连接,至少需要4台机器。通过对客户端网卡绑定多IP的方法,成功在一台机器上创建了25万个链接。

    当然,这种手段只是一种非常规的操作,只是为了进行某种特殊场景的测试。正常情况下不推荐网卡绑定多个IP。

    链接接收端

    对于Tomcat服务器来讲,它是链接接收端,它是不是也受限于65535呢?并不是,从上面图中可以看到,Jmeter发起的所有链接都创建在Tomcat服务器的8080端口,也就是说对于链接接收端,所有的链接占用的是同一个端口。根据TCP标识四元组可以分析出,一个链接接收端,最大的TCP链接数=所有有效ip排列组合的数量*端口数量64000,这个计算结果应该是一个天文数字(我数学不好就不计算了,差不多相当于我一年的工资总和)。因此链接接收端支持的链接数理论上可以认为是无限大的。

    上面介绍的一些数据都是理论上单台机器可以支持的TCP链接数,实际情况下,每创建一个链接需要消耗一定的内存,大概是4-10kb,所以链接数也受限于机器的总内存。(链接发起端,活力全开才64000左右链接,内存最多才占用640M,一般客户端都能 满足;内存限制主要还是考虑服务器端)

     

    展开全文
  • 增加服务器的TCP连接数

    千次阅读 2017-10-18 15:14:41
    1、修改用户进程可打开文件限制  在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP...
  • 大多用户对连接数的概念认识都很模糊,现介绍如下:1、浏览者访问站点,必需与站点通过TCP协议,建立连接。这个连接在从服务器上读取信息时存在,读取结束时,一般即自动关闭。所以,当一个页面已经完全地显示在...
  • 在编程时使用Socket 通讯,我们需要了解单机中最多可以建立多少个 TCP 连接,本文介绍如何调整系统参数来调整单机的最大TCP连接数。 Windows 下单机影响TCP连接数主要有以下几项注册表参数: 最大TCP连接数 [HKEY_...
  • netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' LAST_ACK 1 SYN_RECV 14 ESTABLISHED 79 FIN_WAIT1 28 ...也就是说,这条命令可以把当前系统的网络连接状态分类汇总...
  • Win7注册表修改,删除对TCP连接数量的限制Yu Yongjun 201 5. 1 0. 14在注册表中HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters在Windows 7中,用户必须右键单击-单击创建一个新...
  • IIS或WEB连接数指同一时间服务器可以响应的访问请求,可以简单的理解为允许多少个浏览器窗口同时访问您的站点,比如说:100个IIS连接数就可以有100个浏览器窗口同时与服务器连接。 减少弹出窗口是有效提高在线人数...
  • 为此,修改服务器的设置,从而支持10万个同时请求。具体设置如下:1. 调整IIS7应用程序池队列长度依次打开,IIS管理器 > 应用程序池 > 高级设置,修改队列长度为65535。2. 调整IIS 7的appConcurrentRequest...
  • 远程桌面超出最大连接数如何解决远程桌面超出最大连接数如何解决 win2K/win2003终端服务器超出最大允许连接数的问题 一.用注销来退出远程桌面而不是直接关闭窗口 二.限制已断开链接的会话存在时间 1.从终端服务配置...
  • 转载: 参考:https://blog.csdn.net/enweitech/article/details/79815137 https://blog.csdn.net/enweitech/article/details/79815137 ... 一、IIS连接数  一般购买过虚拟主机...
  • Jmeter之连接问题

    千次阅读 2021-01-27 02:30:07
    Connection reset报错原理服务器端因为某种原因关闭了...产生原因服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭;防火墙的问题如果网络连接通过防火墙,而防火墙一般都会有超时的机制,在网...
  • 在做性能测试测试时候,如果被测试的系统页面很简单,并且性能很好,这样会导致压力机得tcp链接不够而导致如下错误: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\TcpTimedWaitDelay...
  • 另外服务器的IP也是固定的,那么理论上最多可以建立 2 ^ 32 (ip) × 2 ^ 16 (端口) 个连接。 文件描述符限制 实际上,能建立的连接远小于这个数字。我们每打开一个连接都对应一个文件描述符fd(linux系统下一切...
  • 修改 Windows 最大端口连接数

    千次阅读 2019-08-01 04:32:15
    在做Socket 编程时,我们经常会要问,...Windows 下单机的TCP连接数有多个参数共同决定,下面一一介绍:最大TCP连接数[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]TcpNumConnect...
  • 在做性能测试测试时候,如果被测试的系统页面很简单,并且性能很好,这样会导致压力机得tcp链接不够而导致如下错误: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\...
  • TCP服务器连接客户端过多的问题

    千次阅读 2018-10-20 00:54:05
    TCP状态迁移,CLOSE_WAIT & FIN_WAIT2 的问题 TCP状态迁移 :  大家对netstat -a命令很熟悉,但是,你有没有注意到STATE一栏呢,基本上显示着... 大家很明白TCP初始化连接三次握手吧:发SYN包,然后返回...
  • tomcat服务器tcp连接出现大量ESTABLISHED连接导致前端访问502解决方法1.1TCP状态转移要点TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死...
  • 关闭TCP/IP连接的四个过程那么双方关闭这个TCP连接共需要四个packet:Client ---> FIN ---> ServerClient 这时候Client端处于FIN_WAIT_2状态;而Server程序处于CLOSE_WAIT状态。Client 这时Server发送FIN给...
  • 在做Socket 编程时,我们经常会要问...Windows 下单机的TCP连接数有多个参数共同决定,下面一一介绍:最大TCP连接数[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]TcpNumConne...
  • 【Mysql并发和连接数】mysql并发数:netstat -ant |find /i "ESTABLISHED" |find /i ":3306 " /cmysql连接数:select count(*) from information_schema.processlist;或者:mysql -uroot -h127.0.0.1 -P3020 -e ...
  • 昨天2台Windows Server 2012服务器出现奇怪的问题,自己竟然连不上自己的本机80端口,telnet 127.0.0.1 80也连不上,而更奇怪的是其它服务器可以连接到这2台服务器的80端口。在这2台服务器上,浏览器打不开任何网站...
  • 百度结果:windows 2008 R2 在访问的时候经常会出现503错误,与之前使用的是默认配置,服务器最多只能处理5000个同时请求有关,如果同时请求超过5000,就可能出错。下面是具体的解决方案: 1. 调整IIS 7应用
  • TCP/IP TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中有TCP协议与UDP协议。...连接->传输数据->关闭连接

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,467
精华内容 2,586
热门标签
关键字:

修改服务器tcpip连接数