Home » Jmeter » JMeter错误:java.net.BindException: Address already in use: connect 
点击这里给我发消息

JMeter错误:java.net.BindException: Address already in use: connect 


发布人 go君 July 23, 2021 已阅读: 158 次    Jmeter 给我留言

本文最后更新于2021年8月1日,如果文章内容或图片资源失效,请反馈我,谢谢!

第一次用JMeter去实施上万并发的测试,结果遇到了滑铁卢,因为并发量较大所以需要多机负载的方式去实现。在确认单机的极限并发人数时遇到了以下错误:java.net.BindException: Address already in use: connect 

JMeter错误:java.net.BindException: Address already in use: connect -TestGo

原因在于windows默认的TCP/IP端口只有1024-5000个,而且释放的话大概需要4分钟才能够将之前占用的端口释放掉,导致当jmeter请求达到一定数量时提示上述错误

解决方式

1、取消JMeter-HTTP请求Use KeepAlive设置

JMeter错误:java.net.BindException: Address already in use: connect -TestGo

2、更改Windows注册表中默认的TCP/IP端口数量

使用cmd输入regedit进入到负载机的注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

JMeter错误:java.net.BindException: Address already in use: connect -TestGoJMeter错误:java.net.BindException: Address already in use: connect -TestGo

在Parmeters右键新建DWORD值,命名为MaxUserPort,然后选择十进制并输入数据65534后保存

JMeter错误:java.net.BindException: Address already in use: connect -TestGo

重新压测后发现到一定时间后还是存在该错误,继续寻找新的方法,突然想起了应该查看下端口占用的情况的,结果发现有大量的TIME_WAIT数据,根据查找结果有说windows下释放端口默认为5分钟,这时间也太长了- - 没办法又找了找更改默认端口时间的答案,在同样的注册表位置新建TcpTimeWaitDelay,值类型DWORD数值数据为5s

JMeter错误:java.net.BindException: Address already in use: connect -TestGo

重启测试机,再次进行测试,发现TIME_WAIT数量大幅度的下降,更改有效了。 JMeter错误:java.net.BindException: Address already in use: connect -TestGo 

引用内容:jmeter压力测试(踩坑)报错

JMeter错误:java.net.BindException: Address already in use: connect -TestGo

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取

Leave a Reply

Your email address will not be published. Required fields are marked *

解决 : *
4 + 13 =


返回顶部