解决 JMeter 端口(Address already in use: connect)耗尽问题

设置动态端口范围(解决 JMeter 端口耗尽问题),需注意系统对动态端口的默认限制 (旧版 Win7 动态端口范围通常为 49152~65535,共 16384 个端口)。以下是完整方案:

一、统计当前已使用的端口数

管理员身份 打开 cmd,执行:

bash 复制代码
netstat -ano | find /c "TCP"

二、确认当前动态端口范围

管理员身份 打开 cmd,执行:

bash 复制代码
netsh int ipv4 show dynamicport tcp

默认输出(Win7 典型配置):

复制代码
协议 tcp 动态端口范围
---------------------------------
启动端口 : 49152
端口数 : 16384

三、修改动态端口范围(扩大范围)

命令(管理员身份执行):

win7修改

bash 复制代码
netsh int ipv4 set dynamicportrange protocol=tcp startport=1025 numberofports=64510

win10修改

bash 复制代码
netsh int ipv4 set dynamicport tcp start=1024 num=64512
  • start=1024:动态端口起始值(最小可用端口)。
  • num=64512:端口数量(1024 + 64512 - 1 = 65535,刚好覆盖 1024~65535)。

四、验证修改是否生效

执行以下命令查看配置:

bash 复制代码
netsh int ipv4 show dynamicport tcp

若输出为:

复制代码
协议 tcp 动态端口范围
---------------------------------
启动端口 : 1025
端口数 : 64510

则修改成功。

五、缩短 TIME_WAIT 超时(彻底解决端口耗尽)

高并发下,TIME_WAIT 状态的端口会暂时占用资源。需缩短 TIME_WAIT 超时时间(需重启电脑生效):

  1. 打开注册表编辑器:regedit
  2. 定位到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. 新建 DWORD(32位)值 ,命名为 TcpTimedWaitDelay
  4. 设置值为 30(单位:秒,建议 30~60 秒,避免过小影响网络稳定性)

六、JMeter 端优化(减少端口消耗)

在 JMeter 的 HTTP 请求HTTP 请求默认值 中,调整连接池和超时参数:

  1. 打开 HTTP 请求 面板 → 切换到 Advanced 标签。
  2. 设置:
    • Implementation:选 HttpClient4(更高效的长连接管理)。
    • Connection Timeout:设为 10000(连接超时,毫秒)。
    • Response Timeout:设为 30000(响应超时,毫秒)。
    • Use KeepAlive:勾选(复用 TCP 连接,减少端口消耗)。

七、测试验证

重新运行 JMeter 压测,观察是否还报 Address already in use: connect。若仍报错,可尝试:

  • 降低 JMeter 并发线程数(临时缓解)。
  • 检查是否有其他程序占用大量端口(如浏览器、后台服务)。

关键说明

  • Win7 对动态端口的修改无需重启 ,但 TIME_WAIT 超时修改需重启电脑。
  • 若修改后仍报错,可能是系统策略限制(如组策略强制固定动态端口范围),需联系管理员解除限制。

通过以上步骤,可彻底解决JMeter 压测的"端口已占用"问题。

相关推荐
弹简特14 小时前
【Fiddler抓包工具】一文通关Fiddler抓包工具【附:Fiddler结合jmeter接口测试实战】
jmeter·fiddler·接口测试·抓包
测试19981 天前
性能测试方案设计的方法和思路
自动化测试·软件测试·测试工具·jmeter·测试用例·压力测试·性能测试
川石课堂软件测试1 天前
软件测试|常见面试题整理
数据库·python·jmeter·mysql·appium·postman·prometheus
这是个菜比测试1 天前
jmeter无法访问内网接口
jmeter
qq_452396231 天前
第三篇:《JMeter断言:验证接口响应正确性》
android·jmeter
是小章啊3 天前
Jmeter压测实战之HTTP_POST
网络协议·jmeter·http
古城小栈4 天前
封神!Rust 出品 HTTP 压测神器 cargo-whero,轻量碾压 JMeter、wrk,新手也能秒上手
jmeter·http·rust
_周游5 天前
【软件测试】使用JMeter进行压力测试_3
jmeter·压力测试
EVE จุ๊บ6 天前
如何修改mac上的jmeter堆内存
jmeter·macos
狼爷7 天前
JMeter 全指南:从性能测试入门到架构级实战
jmeter·测试