性能测试出现:java.net.NoRouteToHostException: Can‘t assign requested address (Address not available)解决方案

当遇到Java性能测试中的NoRouteToHostException时,问题可能源于Linux客户端连接端口耗尽。通过检查端口使用情况和调整端口范围可以优化。增加MaxUserPort和缩短TcpTimedWaitDelay可以缓解问题。若仍报错,可能是目标服务器端口问题。调整端口范围和采用短连接是主要解决方案。

前言

在性能测试中会常常遇到java.net.NoRouteToHostException: Can’t assign requested address (Address not available)这个问题,什么原因导致的呢?
这个原因不一定是服务器的原因,还可能是本机的问题。

一、问题报错

出现这个问题是由于liunx 分配的客户端连接端口用尽,无法建立socket连接所致,虽然socket正常关闭,但是端口不是立即释放,而是处于 TIME_WAIT 状态,默认等待60s后释放。
在这里插入图片描述
1、查看端口连接数量:netstat -nat | grep -i “TCP” | wc -l
在这里插入图片描述

2、查看linux支持的端口范围
cat /proc/sys/net/ipv4/ip_local_port_range
在这里插入图片描述

二、调优方案

1.扩大端口范围

修改注册表:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姑娘别秃头

你的鼓励是为我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值