jmeter性能测试报错Address already in use: connect解决方法

------------恢复内容开始------------

------------恢复内容开始------------

用windows进行jmeter压测出现java.net.BindException: Address already in use: connect
windows机上用JMeter压测,50并发下出现大量接口报“java.net.BindException: Address already in use: connect”错误。

查阅了各种百度博客,
第一种方法:推荐
1、cmd中,用regedit命令打开注册表
2、在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3、右键Parameters

4、新建DWORD值,(十进制)设置为30秒。名称:TcpTimedWaitDe,值:30

     新建DWORD值,(十进制)最大连接数65534。名称:MaxUserPort,值:65534

     基数选择十进制;以增大可分配的tcp连接端口数、减小处于TIME_WAIT状态的连接的生存时间
6、修改配置完毕之后记得重启机器才会生效****

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

这个百度都有,但是楼主发现重启之后还是有问题,也不想上服务器。查阅之前的性能测试问题,发现还有一个东西要加。
第二种方法:
就是这个connection-close,每次都把连接 关闭

jmeter性能测试报错Address already in use: connect解决方法

这样就不会报错啦。

再次发现压测更大并发压力的时候,依然会报错
第三种方法:
最后我在HTTP请求高级选项中选择了java,没有报这个错了

因为次选项能重复使用TCP连接端口,而选择默认的java,每次请求会建立一个新的链接

jmeter性能测试报错Address already in use: connect解决方法


很伤心,并发数1000的时候,依旧报错,后面修改了这里,

方法四:推荐

jmeter性能测试报错Address already in use: connect解决方法

去掉默认的勾选
能减少报错率,但是治标不治本,知道后续还会不会有了,最好还是放服务器压测吧。内存大一点。因为发现两台windows机,一台8g内存,一台16g内存,同样的脚本和同样的环境,TPS从相差一倍。有条件的情况下,找一台好一点的压力机,这样就可以控制住,瓶颈是你自己造成的。而不是被测服务器的瓶颈
原文链接:https://blog.csdn.net/JR19951012/article/details/109384527

------------恢复内容结束------------

------------恢复内容结束------------

上一篇:top命令查看CPU状态信息:%us、%sy、%ni、%id、%wa、%hi、%si、%st 表示的是什么意思


下一篇:解决git提交问题git remote add origin URL 出现error: remote origin already exists.