• jmeter报错:java.net.BindException: Address already in use: connect


    原因:windows提供给TCP/IP链接的端口为 1024-5000,并且要四分钟来循环回收它们,就导致我们在短时间内跑大量的请求时将端口占满了,导致如上报错。

    解决办法(在jmeter所在服务器操作):

    1.cmd中输入regedit命令打开注册表;

    2.在 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters右键Parameters;

    3.添加一个新的DWORD,名字为MaxUserPort;

    4.然后双击MaxUserPort,输入数值数据为65534,基数选择十进制;

    5.添加添加一个新的DWORD ,名字为TcpTimedWaitDelay,数值为30-300 基数选择十进制

    6.完成以上操作,务必重启机器,问题解决。

    解决后的测试结果就不再报错

      MaxUserPort的值表示当应用程序向系统请求可用的端口时,TCP/IP可分配的最大端口号。如果系统显示建立连接时出现异常,那么有可能是由于匿名(临时)端口数不够导致的,特别是当系统打开大量端口来与Web service、数据库或其他远程资源建立连接时。

      该项的缺省值是十进制的5000,这也是系统允许的最小值。Windows默认为匿名(临时)端口保留的端口号范围是从1024到5000。为了获得更高的并发量,建议将该值至少设为32768以上,甚至设为理论最大值65534,特别是对于模拟高并发测试环境的Client具有积极的意义。具体操作:

    浏览至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注册表子键,在Parameters子键下创建或修改名为MaxUserPort的REG_DWORD值,该值的范围是从5000到65534,缺省值为5000,建议将该值设置为65534。

      cpTimedWaitDelay的值表示系统释放已关闭的TCP连接并复用其资源之前,必须等待的时间。这段时间间隔就是以前的Blog中提到的TIME_WAIT状态(2MSL,数据包最长生命周期的两倍状态)。如果系统显示大量连接处于TIME_WAIT状态,则会导致并发量与吞吐量的严重下降,通过减小该项的值,系统可以更快地释放已关闭的连接,从而为新连接提供更多的资源,特别是对于高并发短连接的Server具有积极的意义。

      该项的缺省值是240,即等待4分钟后释放资源;系统支持的最小值为30,即等待时间为30秒。具体操作:

      浏览至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注册表子键,在Parameters子键下创建或修改名为TcpTimedWaitDelay的REG_DWORD值,该值的范围是从0到300,建议将该值设置为30。

  • 相关阅读:
    [POJ 1200]Crazy Search
    [来源不详]删数方案数
    noip搜索模拟题 骰子
    [SDOI2010]地精部落
    [HAOI2008]硬币购物
    BZOJ1009: [HNOI2008]GT考试
    BZOJ1830: [AHOI2008]Y型项链 & BZOJ1789: [Ahoi2008]Necklace Y型项链
    BZOJ1251: 序列终结者
    BZOJ3620: 似乎在梦中见过的样子
    BZOJ4477: [Jsoi2015]字符串树
  • 原文地址:https://www.cnblogs.com/bingmengzhang/p/14163826.html
Copyright © 2020-2023  润新知