服务器上执行Jmeter脚本,报错org.apache.http.conn.HttpHostConnectException:xxxx failed: 无法指定被请求的地址(connect failed)的解决方法
问题描述:在执行单交易负载脚本的时候发现,在本地跑脚本,异常率0%,同样的脚本放到发压机上执行,就出现了大面积的报错
原因分析:Linux分配给客户端连接的端口用尽,无法建立socket连接导致,虽然socket关闭了,但端口默认等待60s才会释放,所以只要我们再多给点可用的端口就好了。
解决步骤:
1、查看Linux支持的客户端连接端口范围:cat /proc/sys/net/ipv4/ip_local_port_range
2、调低端口释放后的等待时间,默认是60s,修改为15~30s:echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
3、修改tcp/ip协议配置,通过配置/proc/sys/net/ipv4/tcp_tw_reuse,默认为0,修改为1,释放TIME_WAIT端口给新连接使用:echo 1 > /proc/sys/net/ipv4/tcp_tw_resue
4、修改tcp/ip协议配置,快速回收socket资源,默认为0,修改为1:echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
5、配置生效:sysctl -p
修改完成后,再次在发压机上执行单交易负载脚本,异常率正常:
本博客仅为本人学习过程中的记录,欢迎爱学习的你给我留言,一起交流经验。
转载请注明出处https://www.cnblogs.com/panpanda/p/15856569.html,未经过同意擅自转载,必究责!请尊重原创!
分类:
解决问题过程记录杂糅
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!