Jmeter压测报错java.net.BindException: Address already

最近在用jmeter做压力测试时,发现一个问题,当线程持续上升到某个值时,报错:java.net.BindException: Address already in use: connect,如下图所示:

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

目前有两种解决方案:

解决方法一:.

修改Jmeter配置项

不勾选 Use KeepAlive ,该配置默认勾选,去掉勾选后,请求就变为短连接。(什么是长连接短连接可参考:https://www.cnblogs.com/zzcsza/p/12688956.html)

解决方法二:.

修改操作系统注册表

  1. 打开注册表:ctrl+r 输入regedit
  2. 进入-计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. 新建DWORD值,name:TcpTimedWaitDe,value:30(十进制)设置为30秒
  4. 新建DWORD值,name:MaxUserPort,value:65534(十进制)最大连接数65534
  5. 重启电脑

猜你喜欢

转载自www.cnblogs.com/zzcsza/p/12688945.html