负载测试中这两种情况之间的差异

时间:2014-05-19 15:32:42

标签: .net jmeter load-testing

我正在创建一个负载测试,到目前为止我已经完成了这个: 线程-100 加速期 - 100 循环 - 2

我的理解是每秒会触发1个线程,并且在完成第一批100个线程之后,将以相同的方式触发另一轮100个线程,其触发周期之间的差异为1秒(与第一个循环相同)。它是否正确? 此外,如果我有这样的话会是什么情况:

线程-200 加速期 - 200 环-1

这意味着每秒1个线程和总共200个线程吗?这相当于第一种情况吗?请帮助,我在测试时得到非常奇怪的结果,因此这个问题

1 个答案:

答案 0 :(得分:1)

不。第二种情况与第一种情况不同。

记住这些(假设'延迟线程创建,直到需要'被选中)

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秒之后,服务器也只有100个并发用户。

第二种情景:

但是,这里,服务器在200秒后有200个并发用户。与第一个场景相比,我们在服务器上的负载更多。服务器的响应时间可能与第一个方案相比更多,因为负载更多。