Jmeter 短时间内跑大量线程报错 Non HTTP response code: org.apache.http.conn.HttpHostConnectException/Non HTTP response message: Connect to x failed: Connection timed out


1.Jmeter 短时间内跑大量请求报错, 我是5台机器,每台20个线程,循环1000次,一共跑了10万个请求,报错如下。

 

原因应该是: linux 分配给客户端连接的端口用尽,无法建立新的socket连接所致,虽然已经完成的socket关闭了,但是端口默认等待60s才会释放,所以只要我们再多给点可用的端口就好了。

解决方法如下:

查看Linux支持的客户端连接端口范围命令:

cat /proc/sys/net/ipv4/ip_local_port_rangecat /proc/sys/net/ipv4/ip_local_port_range,60999-32768=28231 个ipv4端口可用。

 

1. 调低端口释放后的等待时间, 默认为60s, 修改为15~30s。
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout

2. 修改tcp/ip协议配置 tcp_tw_recycle :是否开启快带回收TIME_WAIT tcp连接的功能,快速回收socket资源, 默认为0否, 修改为1是.
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle

3. tcp_tw_resue 是否可以使用TIME_WAIT tcp连接用于建立新的tcp连接,默认为0否, 修改为1是。

echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM