Jmeter压测过程中,jmeter响应数据报错
java.net.BindException: Address already in use: connect

在网上查阅资料得知,报错是因为Windows提供给 TCP/IP链接的端口为 1024-5000,并且要四分钟来循环回收他们。导致在短时间内跑大量的请求时将端口占满了。
解决办法:
- 1.cmd中输入regedit命令打开注册表;
- 2.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters;
- 3.新建 DWORD值,name:TCPTimedWaitDelay,value:30(十进制) –> 设置为30秒,默认是240秒;

- 4.新建 DWORD值,name:MaxUserPort,value:65534(十进制) –> 设置最大连接数65534;

完成以上操作后,需要重启系统才能生效。
注意:
如果还是增加并发,还是这个报错,需要在HTTP请求下取消勾选keep-alive,如图:

请求完成后,会关闭该TCP连接,主动释放端口;
再执行后,则没有报这个错误。
当进行JMeter压力测试时遇到`java.net.BindException: Address already in use: connect`错误,这是因为Windows默认的端口范围和回收机制导致端口耗尽。通过修改注册表键值`TCPTimedWaitDelay`为30秒和`MaxUserPort`为65534可以缩短端口等待时间和增大可用端口数,从而缓解问题。若问题依然存在,可以在HTTP请求中取消保持连接(Keep-Alive)选项,确保每次请求后关闭连接,避免端口占用。
768

被折叠的 条评论
为什么被折叠?



