负载测试中这两种方案之间的区别
问题内容:
我正在创建一个负载测试,到目前为止,我已经做到了:线程100加速周期-100循环-2
我的理解是每秒将触发一个线程,并且在完成第一批100个线程后,将以相同的方式触发另一轮100个线程,它们的触发时间之差为1秒(与第一循环)。这样对吗?另外,如果我遇到了这种情况:
线程200加速周期200循环1
这是否意味着每秒1个线程,总共200个线程?这相当于第一种情况吗?请帮忙,测试时我得到的结果非常奇怪,因此这个问题
问题答案:
不。第二种情况与第一种情况不同。
记住这些(假设选择了“直到需要时才创建延迟线程”)
Thread Creation Rate = ( Ramp up Period ) / (No of Threads).
Thread is executed independently.
第一种情况:
线程创建速率= 1个线程/秒。每秒创建一个线程。因此,在100秒后,您将拥有100个线程/用户。
创建第一个线程后,它将发送第一个请求。一旦完成,它就不会等待,除非您已经明确设置了计时器。由于循环计数为2,因此它将发送另一个请求。在这里,每个用户向服务器发送2个请求。但是仅在第一个请求完成后才发送第二个请求。但是其他线程是否已发送请求/是否获得响应都没关系。
第二种情况:
线程创建速率= 1个线程/秒。因此,在200秒后,您将拥有200个线程/用户。在此,每个服务器仅向服务器发送一个请求。
有什么区别?
假设,服务器通常需要300秒来处理请求。
第一种情况:
100秒后,有100个用户向服务器发送了请求。在300秒内处理每个请求后,在100秒后,100个用户等待服务器响应。他们不会发送任何其他请求,直到任何用户得到响应为止。即使在200秒之后,serer也只有100个并发用户。
第二种情况:
但是,在这里,服务器在200秒后有200个并发用户。与第一种情况相比,我们在服务器上的负载更多。由于负载更多,因此服务器的响应时间可能会比第一种情况更长。