栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

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

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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


前言

在性能测试中会常常遇到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_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
添加 MaxUserPort 十进制 65534
添加TcpTimedWaitDelay 十进制 30
重启系统

  linux,如果你的发起方是Linux

    sysctl -a |grep net.ipv4.ip_local_port_range

    net.ipv4.ip_local_port_range = 32768    60999  =====2.8w

     改端口范围: 

      ```
      sysctl -w net.ipv4.ip_local_port_range="1024 65535"
      sysctl -p
      ```
2.缩短端口占用范围—短连接

jmeter中去掉keepalive,可能还会报错,只不过延长了报错时间。不能解决问题
结果:我的未报错


总结

遇到连接被拒问题,要么修改端口范围,要么改为短连接。如果上述方法还报错,可能是目标端口出现问题了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/904912.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号