zoukankan      html  css  js  c++  java
  • Jmeter压力测试(踩坑)报错:java.net.BindException: Address already in use: connect

    最近在写搜索接口服务,写完接口进行压力测试,但是在长期线程较高的进行测试时会报如下错误:

     

    排除问题:

    首先先查看服务器的日志,发现没有报错。

    然后查看nginx数据,发现请求数和测试发出的请求数不一致,服务器接收到的少,就想到丢失请求。

    后来经过查找资料了解是windows 机器的问题,

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

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

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

    2.在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters右键Parameters;

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

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

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

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

     

    补充:我在修改上述问题后可以进行正常测试,但是过了两天增加线程数后又出现同样的问题,进行以下配置会正常进行测试。

    在上述三步骤后再添加TcpTimedWaitDelay,数值为30-300 选择十进制。

    同样还是需要重新启动电脑。
    ————————————————
    版权声明:本文为CSDN博主「能白话的程序员♫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/zhangxiaohui4445/article/details/100162317

  • 相关阅读:
    8bit数据 转换为 16bit数据的四种方法
    可变长度的结构体定义
    【转】typedef和#define的用法与区别
    编程事项
    FreeRTOS不允许在中断服务程序和临界段中执行不确定的性的操作
    低优先级任务在执行过程中高优先级任务在干什么
    使用FreeRTOS在SD卡驱动使用非系统延时导致上电重启不工作的情况
    PMOS 与 NMOS
    keil优化等级设置
    #define用法之一
  • 原文地址:https://www.cnblogs.com/wangjunjiehome/p/15672530.html
Copyright © 2011-2022 走看看