“是什么意思?”;线程组“;用JMeter?
我不清楚JMeter中“线程组”的含义是什么。这是否意味着所有测试(Java请求等)都属于在一个线程中运行的某个线程组,还是该线程组中的每个测试都在单独的线程中运行?我无法从JMeter文档或谷歌搜索中清楚地了解这一点。线程=模拟用户。“是什么意思?”;线程组“;用JMeter?,jmeter,threadgroup,Jmeter,Threadgroup,我不清楚JMeter中“线程组”的含义是什么。这是否意味着所有测试(Java请求等)都属于在一个线程中运行的某个线程组,还是该线程组中的每个测试都在单独的线程中运行?我无法从JMeter文档或谷歌搜索中清楚地了解这一点。线程=模拟用户。 所以线程组=用户。 签出时的控制比默认线程组多得多。有关说明,请参阅: 线程组是执行相同场景的一组线程。设置配置中的迭代次数。 线程行为是根据爬升定义的,一旦每个线程的迭代次数过去,线程行为就会被销毁 请注意,从版本2.8开始,您将能够延迟线程创建,直到线
所以线程组=用户。
签出时的控制比默认线程组多得多。有关说明,请参阅:
线程组是执行相同场景的一组线程。设置配置中的迭代次数。
线程行为是根据爬升定义的,一旦每个线程的迭代次数过去,线程行为就会被销毁
请注意,从版本2.8开始,您将能够延迟线程创建,直到线程必须开始工作为止,这将适用于使用寿命非常短的线程和许多线程的测试
线程组可以看作是一组虚拟用户,但不一定。它可以是其他的,这取决于您如何开发测试。正如我所理解的(我想知道的),JMeter线程组中的所有操作在每个线程和迭代中按顺序运行一次。因此,这意味着线程组中的每个操作都不会在自己单独的线程集中运行,而是与线程组中的其他操作共享每个线程
比如说,
- 螺纹组1
- 操作1
- 行动2
- 行动3
如果我们计划这个线程组线程组1在3个线程中运行,那么会发生
- 操作1、操作2和操作3将在线程1中执行
- 操作1、操作2和操作3将在线程2中执行
- 操作1、操作2和操作3将在线程3中执行。等
以前,我不确定这些操作是否都在各自独立的线程上运行。只是为了在我自己的调查之后做出进一步贡献(为了清晰和完整,我希望):
ThreadGroup具有如上所述的请求/操作(在Manjula Weerasinge的摘要中),但也具有用户和循环配置李>
线程组为每个用户创建一个线程。此线程(代表用户)在该循环中按顺序运行该线程组中的所有操作李>
这些线程在所有循环中重复使用-也就是说:循环2也将作为n个不同的用户执行相同的操作集,但这将重用与循环1相同的线程李>
总之,ThreadGroup每个用户有一个线程,用于运行该组中所有循环的所有测试
这在有10个用户的两个循环中是正确的,我的测试包含以下内容:
System.out.println("MyTest#testSearchNodeByNodeNameExactMatch: MyTest="
+this + "(" +System.identityHashCode(this) +")"
+", thread=" +System.identityHashCode(Thread.currentThread()));
日志可以使用(假设println输出写入thread output.2.txt)进行总结:
你很明白。你应该把这个放在你的问题中,接受最适合你的答案。好链接。这让我明白了这一点,而这并不是我当时的想法。
grep MyTest#test thread-output.2.txt | awk -F ', ' '{print $2}' | sort | uniq