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

时间:2020-04-13 09:52:14   收藏:0   阅读:84

最近在用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. 重启电脑

原文:https://www.cnblogs.com/zzcsza/p/12688945.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!