最近开始学习Jmeter,我注意到当我设置线程组为:
螺纹:2,
斜升:10秒,
线圈:5个。
Part1:运行第一个线程需要1~5秒,part2:6- 10秒来运行第二个线程。在第一部分,它循环并发送5个请求,第二部分也是如此。
我的第一个问题是在每个循环中,5个请求是否是一个接一个发送的,并且只有在前一个完全完成后才开始?
在上面的例子中,每个线程都有足够的时间循环,但是如果在下一个线程开始之前没有足够的时间来完成循环,会是什么样子呢?
如果线程:2,
斜升:10秒,
线圈:500。
假设在前5秒服务器不能完成500个请求,从第6秒thread 2启动,那么part1和part2同时会有活动请求。
问题2我假设,在循环中,它一个接一个地发送请求,所以总是有2个活动请求(每个请求来自2个线程)。这样,它大约有500倍的2个并发线程。这种理解正确吗?
上述理解是否正确?
1条答案
按热度按时间ee7vknir1#
JMeter根据您在ramp-up period中的设置启动所有线程。
2个线程和10秒的加速意味着10秒后您将有2个线程启动并运行,JMeter将在5秒内启动1个线程。
启动后,线程开始颠倒执行采样器(或根据逻辑控制器)
当线程执行最后一个采样器时,它立即开始新的迭代。当没有更多的采样器要执行,并且循环迭代时,线程被关闭。
当不再有正在运行的线程时,测试结束。
线程是绝对独立的。每个线程等待前一个采样器完成,然后再开始下一个采样器。线程开始下一个迭代时,最后一个采样器被执行,其他线程仍然可以运行前一个迭代。如果你想让所有线程完成一切之前,开始下一个迭代,看看同步定时器或Inter-Thread Communication Plugin