You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMeter执行脚本每40秒左右触发java.net.SocketException求助

解决JMeter每隔40秒出现java.net.SocketException的问题

常见原因及对应解决方案

1. 服务器端连接超时回收

多数服务器会设置40秒左右的空闲连接超时规则,JMeter若未配置连接复用,旧连接被服务器主动断开时就会触发该异常。

  • 处理:在HTTP请求的「Advanced」标签页勾选「Keep-Alive」,开启连接复用;也可在「HTTP请求默认值」中统一配置,避免逐个请求设置。

2. JMeter连接池参数不足

默认连接池配置无法支撑长时间运行的脚本,易出现连接耗尽或复用不及时的情况。

  • 处理:找到JMeter安装目录下的user.properties文件,调整以下参数后重启JMeter:
    httpclient4.idletimeout=60000  # 空闲连接超时设为60秒(大于服务器的40秒阈值)
    httpclient4.max_total=200      # 增大连接池总容量
    httpclient4.default_max_per_route=100  # 提升单路由最大连接数
    

3. 防火墙/代理的连接限制

测试环境的防火墙或代理可能会主动断开超过40秒的空闲连接。

  • 处理:
    • 联系运维调整防火墙/代理的超时规则,使其大于脚本的请求间隔;
    • 若无法调整规则,可在脚本中添加心跳请求(比如每隔35秒发送一个轻量GET请求),保持连接活跃。

4. 请求间隔过长

脚本中请求间隔接近40秒时,空闲连接被服务器回收,再次请求就会触发异常。

  • 处理:
    • 缩短请求间隔,避免连接长时间空闲;
    • 若必须保留长间隔,可在请求前添加「HTTP URL Re-writing Modifier」强制重建连接(不推荐,会增加服务器负载)。

验证方式

修改配置后运行脚本,观察40秒周期内是否仍抛出SocketException,若未出现则说明配置生效。

内容的提问来源于stack exchange,提问作者NeYurik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 18:15:45