在jmeter中,减少线程数并增加reqest(相同请求的副本)以增加响应时间是正确的

时间:2018-02-08 09:53:57

标签: multithreading jmeter

在我的应用程序中,当我在线程(No:of threads)中为1个http请求执行2000个虚拟用户时,我的响应时间为30秒,当我将没有线程更改为500而不是1个http请求时,我放了4个副本相同的http请求,响应时间为3秒。有什么不同?这是减少线程数量和增加请求副本的正确方法吗?请帮忙 注意:在每次请求中我都更改了用户ID

2 个答案:

答案 0 :(得分:0)

HTTP Request采样器而言,您的测试必须与真正的浏览器行为完全相同,因此人为添加更多HTTP请求可能(并且将会)破坏您的工作负载的逻辑(如果它已到位)。

在您的情况下,高响应时间似乎是由不正确的JMeter配置引起的,即如果JMeter没有正确配置为高负载,它将无法足够快地触发请求,从而导致响应时间增加,而您的服务器将只是闲。

2000个线程听起来相当大,所以请确保:

答案 1 :(得分:0)

扩展@Dmitri T答案,如果您的服务器响应加载10倍,当您执行2000个虚拟用户时,这意味着您需要识别瓶颈。

阅读JMeter的Best Practices

  

考虑使用distributed mode在多台计算机上运行多个非GUI JMeter实例

同时选中“线程组”中的Delay Thread creation until needed复选框

  

JMeter可以选择延迟线程创建,直到线程开始采样,即在任何线程组延迟和线程本身的加速时间之后。这允许非常大的线程总数,前提是没有太多的线程同时处于活动状态。

并将Thread Group Ramp-up设置为2000

  

从Ramp-up开始=线程数量,并根据需要调高或调低。