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

JMeter使用Throughput Controller遇单线程Bearer Token EOF报错及进程无法停止问题

问题1:单线程运行出现Bearer Token throws EOF报错 修复方案

  • 直接换掉你现在用的BeanShell脚本,改用JSR223处理器+Groovy语言处理Token逻辑,BeanShell是JMeter早就不推荐的老旧组件,IO处理很容易出资源泄漏的问题。
  • 没必要把Token写到公共文件里跨步骤传,直接用JMeter自带的线程私有变量存就行:登录接口加个JSR223后置处理器,写一行vars.put("bearerToken", "你从接口拿到的Token值"),后面Action接口的Header里直接用${bearerToken}拿,完全不会有文件读写冲突的问题。EOF报错基本都是你读文件的时候拿到的Token不完整或者是空的,请求发出去服务器不认直接断连导致的。
  • 要是必须把Token存到本地,每个线程单独生成带线程号后缀的文件,读写完立刻关IO流,别留资源占着。

问题2:测试超10分钟不停止、手动终止无效 修复方案

  • 先看Throughput Controller的配置:要是你选的是Total Executions模式还没勾Per Thread,总执行次数设太高的话,哪怕线程组时长到了,控制器还会一直发请求,测试肯定停不下来。要么切成Percent Executions模式按比例控吞吐量,要么勾上Per Thread按单个线程限制执行次数。
  • 再检查Stepping Thread Group的配置,确认开了Stop thread if duration limit is reached,没开的话到了时长线程也会跑完当前所有循环才停,你要是循环没设终止就会一直跑。
  • 所有文件读写、数据库连接的操作一定要加资源释放的逻辑,BeanShell脚本IO卡住是JMeter进程收不到停止信号的最常见原因,全换成JSR223 Groovy脚本之后基本能解决九成以上的假死问题。
  • 跑压测别用GUI模式,切非GUI模式跑,把没用的结果树、监听器都关了,GUI本身负载就高,监听器存太多数据也容易导致进程卡死活停不下来。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:54:07