首页 > 编程语言 >【JMETER压力测试报错:java.net.BindException: Address already in use: connect】

【JMETER压力测试报错:java.net.BindException: Address already in use: connect】

时间:2022-12-07 13:01:49浏览次数:40  
标签:use 5000 BindException 连接数 already 报错 测试 TPS

一、现象描述

在windows环境下,使用jmeter进行性能测试时,在并发量较大的情况下,发现有大量的接口报错
报错内容为:java.net.BindException: Address already in use: connect

【JMETER压力测试报错:java.net.BindException: Address already in use: connect】_java

二、原因

经查询资料得知,windows提供给TCP/IP链接的端口为 1024-5000,并且要四分钟来循环回收它们,就导致我们在短时间内跑大量的请求时将端口占满了,导致如上报错。
同时对比TPS报错及监控平台连接数,佐证了这一点。

TPS图表,红色框框内为基本全部报错。

【JMETER压力测试报错:java.net.BindException: Address already in use: connect】_TCP_02

同一时间监控平台监控到的连接数情况

【JMETER压力测试报错:java.net.BindException: Address already in use: connect】_连接数_03

对照可以看出,当连接数超过5000左右的时候,开始大量报错。在连接数释放的过程中,又会有请求成功,当再次达到5000的时候,后续的连接又几乎全部失败。

三、解决办法

1.cmd中输入regedit命令打开注册表;
2.在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters右键Parameters;
3.添加一个新的DWORD,名字为MaxUserPort;
4.然后双击MaxUserPort,输入数值数据为65534,基数选择十进制;
5.完成以上操作,重新进行测试,就可以解决问题

四、重新测试

TCP没有再报错

【JMETER压力测试报错:java.net.BindException: Address already in use: connect】_java_04

连接数达到了8K+

【JMETER压力测试报错:java.net.BindException: Address already in use: connect】_连接数_05



标签:use,5000,BindException,连接数,already,报错,测试,TPS
From: https://blog.51cto.com/u_15874356/5918764

相关文章