我刚刚开始使用Jmeter进行性能/负载测试,并且尽管阅读了官方文档但仍有一个基本问题。如果有人验证我对线程和加速时间的理解会很有帮助。
示例1:
Threads: 4
RampupTime: 0.1
No of requests (test cases): 1000
如何在上面发生线程分发?
示例2:
Threads: 4
RampupTime: 1
No of requests (test cases): 1000
如何在上面发生线程分发?
我在这种情况下的理解是Jmeter需要1秒才能启动4个线程。并且在一秒钟之后运行的测试(假设从测试案例10开始)4个并发线程将会进行4次不同的测试? (即同时批次为4)这是正确的吗?
请帮忙。我对上述3个参数之间的相关性有点困惑。任何插图将不胜感激。感谢。
答案 0 :(得分:3)
因此,对于第一个问题,不会有任何小于1的加速时间。
为什么?
因为rampupTime是int,任何小于1都被视为0。
public void setRampUp(int rampUp) {
setProperty(new IntegerProperty(RAMP_TIME, rampUp));
}
对于第二个问题,每250毫秒产生一个线程,一秒后你将有4个线程在运行。
int rampUp = group.getRampUp();
float perThreadDelay = ((float) (rampUp * 1000) / (float) numThreads);
回到你对同意批次的理解。不是不是这样,每个线程将独立运行,例如,如果由于某种未知原因,其中一个线程挂起,其他三个线程仍将运行。并不是他们会等待第一个线程完成以启动第二批请求。