问题标签 [threadgroup]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2337 浏览

jmeter - 如果 jMeter 的 Controller 抛出 StackOverflowError

我正在使用 jMeter 加载我的系统。我有两个线程组。第一个应该注入大约 1M 事件,而第二个模拟对 UI 的请求。

我需要第二个线程组继续向 UI 发送请求,直到第一个线程组完成注入 1M 事件。

我找到了这个解决方案,并按如下方式实现:

  1. 在第一个线程组中,我使用以下代码添加了 BeanShell PreProcessor:

    props.put("DONE", "FALSE");

  2. 仍然在第一个线程组中,我使用以下代码添加了 BeanShell PostProcessor:

    int activeThreadCount = org.apache.jmeter.threads.JMeterContextService.getNumberOfThreads();

  3. 在第二个线程组中,我添加了一个具有以下条件的 If 控制器:

    ${__BeanShell(props.get("DONE") != null && props.get("DONE")=="TRUE")}

此解决方案不起作用,我在测试结束时看到以下错误:

2016/12/22 20:52:30 错误 - jmeter.threads.JMeterThread:测试失败!java.lang.StackOverflowError at java.lang.String.valueOf(Unknown Source) at java.lang.StringBuilder.append(Unknown Source) at org.apache.jmeter.engine.util.CompoundVariable.execute(CompoundVariable.java:152)在 org.apache.jmeter.engine.util.CompoundVariable.execute(CompoundVariable.java:117) 在 org.apache.jmeter.testelement.property.FunctionProperty.getStringValue(FunctionProperty.java:101) 在 org.apache.jmeter.testelement .AbstractTestElement.getPropertyAsString(AbstractTestElement.java:271) 在 org.apache.jmeter.control.IfController.getCondition(IfController.java:177) 在 org.apache.jmeter.control.IfController.next(IfController.java:240) 在org.apache.jmeter.control.GenericController.nextIsAController(GenericController.java:

……

……

……

(如上继续约1000行)

谁能告诉我这个错误的根源是什么?我可以简单地忽略它吗?看起来这是一个没有任何停止条件的递归操作。

谢谢盖伊H

0 投票
0 回答
59 浏览

jmeter - Jmeter 扩展一个线程组,使其更像监听器

甚至可以在jmeter中扩展线程组,它既是线程组又是监听器,我的意思是它会从采样器获取数据并可能保存到文件中?

0 投票
2 回答
216 浏览

jmeter - Jmeter用户会话明智的不同数据集

我的测试计划如下

在这个计划中,假设我提供 4 个用户和 8 个操作数据。它所做的是为 4 个用户运行 8 次操作,每个用户总共 8x4=32 次操作。

我怎样才能做到这一点

我想提供用户会话明智的不同操作,即 4 个用户将执行许多事务,但事务不会相同。我怎样才能做到这一点?

0 投票
0 回答
159 浏览

csv - 单个线程组中的不同线程以不同方式读取 CSV 中的行

我有一个带有 2 个 http 请求的单线程组的测试计划。

我想运行一个有 10 个用户的场景。我有一个 4 列中有 10 个值的 CSV 文件,我想按以下方式执行测试计划:

  • 前 3 行,CSV 文件中的所有列应立即由前 3 个用户使用
  • 其余 7 个用户应使用“csv 文件第 4 列的单个唯一值”从同一 CSV 文件中获取剩余的 7 行。它应该运行 1 小时。

我怎样才能运行这个场景?

0 投票
2 回答
111 浏览

jmeter - JMeter - 在执行后续线程组的测试计划中 - 如何只执行一次特定的线程组

我有一个测试计划,它执行多个线程组 consequtevly - 但是对于其中一个线程组,我想执行一次,并且在下一次测试计划执行时应该省略它。这可能吗?

0 投票
1 回答
125 浏览

jmeter - jmeter依次运行部分线程组

我有一个相当复杂的 jmeter 测试计划,它准备数据并将前置条件保存到下一个线程组使用的属性。所以我不能禁用“连续运行线程组”并将其拆分为 2 个不同的计划。但我需要模拟不同用户的行为,这些线程组因线程数和查询数而异。有什么方法可以在不定期中断准备的情况下按顺序启动选定的线程组?

测试计划线程组

0 投票
1 回答
1413 浏览

java - 如何为线程组设置 UncaughtExceptionHandler

假设我有 5 个线程属于一个名为“Fruits-group”的线程组。

如何一次性分配UncaughtExceptionHandler给所有线程Fruits-group

我知道我们可以UncaughtExceptionHandler为所有线程定义一个全局。我正在寻找的是将 a 分配UncaughtExceptionHandler给整个线程组?

0 投票
1 回答
81 浏览

java - java - 新创建的线程附加到我的自定义线程组时的侦听器

我对java中的多线程编程有点了解

据我所知,默认情况下,任何新创建的线程都附加到当前的 ThreadGroup 上。如果您创建一个新的 ThreadGroup,它会作为子项附加到当前 ThreadGroup。

我编写了一个模块化程序,如下所示:

  • 每个模块都扩展了类 Module
  • 每个模块都有自己的线程池,大小为 5
  • 每个模块都有自己的 CustomThreadGroup 实例
  • 每个模块都在自己的线程池中启动
  • 通过在发布到其线程池的可运行文件中调用模块的 onCreate() 方法执行

想象一下我们有类似下面的东西来启动每个模块:

executor 是一个带有自定义 ThreadFactory 的线程池,它通过线程池将模块的 CustomThreadGroup 实例添加到新创建的 Thread 中。

现在我可以确保任何模块都在其自己的线程池中启动,并且在 onCreate 中调用的任何方法都在同一个线程中执行。如果模块想要运行一个长时间运行的任务,它应该向它的执行器发布一个新的 runnable 或运行一个新的线程。

所以,我可以通过调用模块的 CustomThreadGroup.enumerate(n, true) 递归地获取任何模块的线程

对于这种情况,我编写了以下代码:

它可以在单独的线程中很好地计算线程数,这些线程数将在模块的 onCreate() 方法中新创建。

所以我的问题是:

如何在不执行无限循环的情况下通知附加到 ThreadGroup 的新创建线程?

对不起,我的英语不好。

0 投票
1 回答
115 浏览

jmeter - 如何在 JMeter 中使用不同的数据库用户运行多个线程组

我已经设置了它们需要并行执行的 sql 文件,并且我已经通过 ThreadGroups 实现了它。

我创建了 2 个线程组。每个 TG 将启动每个 sql 文件,但是,它们使用相同的数据库用户运行。

我需要用 user1 运行 TG1,用 user2 运行 TG2。我们可以实现它抛出单个 jmx 吗?

0 投票
1 回答
328 浏览

jmeter - Creating multiple thread groups in jmeter Testplan

I want to create 80 thread groups on Jmeter test plan, 1 thread group for 1 user. Can somebody help me with an easy way to achieve this? I'm using jmeter for the first time and the only way i know is to copy a thread group and rename after pasting