java.net.NoRouteToHostException: Cannot assign requested address 问题分析(端口被用完的解决方法)

问题:
错误原因: 由于liunx 分配的客户端连接端口用尽,无法建立socket连接所致,虽然socket正常关闭,但是端口不是立即释放,而是处于 TIME_WAIT 状态,默认等待60s后释放。
查看liunx支持的客户端连接端口范围,也就是 28232 个端口。 cat /proc/sys/net/ipv4/ip_local_port_range32768 - 61000
解决方法:
1. 调低端口释放后的等待时间,默认为60s,修改为15~30s。echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
2. 修改 tcp/ip 协议配置,通过配置 /proc/sys/net/ipv4/tcp_tw_reuse,默认为0,修改为1,释放TIME_WAIT端口给新连接使用。 echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
3. 修改 ctp/ip 协议配置,快速回收socket资源,默认为0.修改为1。echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
https://blog.csdn.net/weixin_43757847/article/details/88188091
https://my.oschina.net/shichangcheng/blog/1560864

伟程君帮忙找的
后记:
找到解决方法了
修改JMeter.properties中改动httpclient4.idletimeout=<time in ms> 设置成自己认为合理的时间,一般可设置成10-60s(表示连接空暇10s后才会断开),注意这边单位是ms。
参考: https://blog.csdn.net/Stesthu/article/details/87968927
后记:
前面对这个概念有点误解了,建立长连接后,httpclient4.idletimeout这里意思是 长链接端口一空闲就断开,比如服务器还没响应回来空闲了直接断开,导致报错。这里时间应该设置长一点,保持长连接一直保持连接
参考: https://www.cnblogs.com/kaibindirver/p/11957645.html 要使用长连接还要配置一下 请求器见连接有讲
查看端口有没用完 netstat -an 查看是否有端口在 timewait
https://i-beta.cnblogs.com/posts/edit-done;postId=11956755
后记:
配置长连接后,依旧会有报错问题,最后是要修改mac上端口的释放时间 参考: https://www.cnblogs.com/kaibindirver/p/11958506.html
而且在jmeter模拟发送请求的时候,请求头记得要加上
java.net.NoRouteToHostException: Cannot assign requested address 问题分析(端口被用完的解决方法)的更多相关文章
- 在linux上用jmeter压测时出现很多异常java.net.NoRouteToHostException: Cannot assign requested address.
		今天压力测试时, 刚开始出现了很多异常, 都是 java.net.NoRouteToHostException: Cannot assign requested address. 经网上查资料, 是由 ... 
- java.net.NoRouteToHostException: Cannot assign requested address
		今天压力测试时, 刚开始出现了很多异常, 都是 java.net.NoRouteToHostException: Cannot assign requested address. 经网上查资料, 是 ... 
- com.sun.xml.internal.ws.server.ServerRtException: Server Runtime Error: java.net.BindException: Cannot assign requested address: bind
		在发布 web service 时报错: Endpoint.publish(publishAddress, hl7MessageReveiver); com.sun.xml.internal.ws.s ... 
- tomcat  java.net.BindException: Cannot assign requested address 解决方法
		今天线上TOMCAT启动时遇到了下比较麻烦的问题,错误如下: 21-Apr-2016 15:14:19.077 SEVERE [main] org.apache.catalina.core.Stand ... 
- Tomcat启动报错:严重: StandardServer.await: create[8005]     java.net.BindException: Cannot assign requested address
		org.apache.catalina.core.StandardServer await SEVERE: StandardServer.await: create[8005]: ... 
- java.net.BindException: Cannot assign requested address: bind
		异常信息 时间:2017-03-16 10:21:05,644 - 级别:[ERROR] - 消息: [other] Failed to start end point associated with ... 
- tomcat启动端口号报错java.net.BindException: Cannot assign requested address
		异常信息 时间:2017-02-09 15:09:59,829 - 级别:[ERROR] - 消息: [other] Failed to start end point associated with ... 
- 服务器启动socket服务报错 java.net.BindException:Cannot assign requested address
		错误信息: 2017-06-13 11:18:00,865 [GateServer.java:82][ERROR]:启动服务出错了java.net.BindException: Cannot ass ... 
- Tomcat启动异常 java.net.BindException: Cannot assign requested address: JVM_Bind
		从Apache官网下载的tomcat7,在MyEclipse中启动时抛出如下异常: 严重: StandardServer.await: create[localhost:8005]: java.net ... 
随机推荐
- Windows窗体控件实现内容拖放(DragDrop)功能
			一.将控件内容拖到其他控件 在开发过程中,经常会有这样的要求,拖动一个控件的数据到另外一个控件中.例如将其中一个ListBox中的数据拖到另一个ListBox中.或者将DataGridView中的数据 ... 
- maven的使用和环境搭建
			请在博客分类的未分类中找到这篇文章 
- Linux命令基础4-cat命令
			cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令. 注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容.因此,一般用more等命 ... 
- Django上传文件和修改date格式
			上传大文件的时候: 修改date数据: 
- 题解 UVa10892
			题目大意 多组数据,每组数据给定一个整数 \(n\),求满足 \(LCM(x,y)=n\) 的不同无序整数对 \((x,y)\) 的数目. 分析 若有 \(LCM(x,y)=n\),则有 \(GCD( ... 
- C++第三章课后作业答案及解析---指针的使用
			今天继续完成上周没有完成的习题---C++第三章课后作业,本章题涉及指针的使用,有指向对象的指针做函数参数,对象的引用以及友元类的使用方法等 它们具体的使用方法在下面的题目中会有具体的解析(解析标注在 ... 
- 移动端videojs视频插件使用直播流rtmp、hls、http-flv的注意事项
			可以访问:https://videojs.com/ 下载对应的脚本包 特别注意的是 移动端videojs一般应用的直播流协议为HLS, RTMP协议一般是PC上使用,需要flash支持. HLS直播源 ... 
- Go奇技淫巧
			判断io读取是否结束,尽量用if n==0这种方式,因为可以判断很多种情况 package main import ( "fmt" "io" "net ... 
- js中检测类型问题
			<script> // var str = '少壮不努力,老大徒伤悲'; // console.log(str instanceof String); // consol ... 
- Oracle 11g 新特性 -- 自适应游标共享(Adaptive Cursor Sharing: ACS) 说明(转载)
			一.自适应游标共享(Adaptive Cursor Sharing) 说明 1.1 ACS概述绑定变量使Oracle DB 可以为多条SQL 语句共享单个游标,以减少分析SQL 语句所使用的共享内存量 ... 
