首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行JMeter脚本时线程处于阻塞状态[非gui模式]

问执行JMeter脚本时线程处于阻塞状态[非gui模式]
EN

Stack Overflow用户
提问于 2022-09-23 09:18:57
回答 1查看 28关注 0票数 0

我使用非GUI模式在Linux上使用吞吐量成形定时器运行带有100个RPS/TPS的脚本,因为我无法使用足够的内存和CPU资源达到所需的TPS/RPS。

我拿了ThreadDump,看到200个线程中有195个线程处于阻塞状态。线程转储分析可在以下网站获得:

线程转储分析

这是API脚本,它需要在执行每个请求之前生成动态头。动态标头如下:

  1. 请求体的contentMD5 - MD5散列
  2. client - clientTypeAPP
  3. 当前唯一的时间戳
  4. 由连接方法、主体、路径、md5等产生的字符串的每个键-md5。

上面的头是使用JSR223预处理器生成的。在采样器执行后,还使用JSR223后处理器删除生成的标头。

EN

回答 1

Stack Overflow用户

发布于 2022-09-23 10:11:13

线程转储显示,问题在于您的JSR223测试元素,很可能是您的Groovy代码有问题,而且很可能您正在内联JMeter函数或变量

  1. 确保从代码中删除对函数或变量的所有调用。
  2. 尝试使用脚本文件,而不是将代码放入JSR223测试元素中。
  1. 使用剖面仪工具了解您的代码问题。
  2. 如果您达到了Groovy脚本引擎性能的极限,请考虑使用将自定义代码逻辑移动到JMeter插件中或切换到分布式测试
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73825564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档