我需要一些关于如何调试此事的帮助。我的当前jMeter场景似乎运行正常,只要我将循环计数保持为1,当我添加更多循环时,性能开始降低很多。
我有一个拥有225个线程的线程组,110s上升,循环计数1 - 我的总响应时间是ca. 8-9secs。我运行了几次以确认,每次运行显示类似的响应时间。 现在,我做了相同的测试,只是将循环计数改为3,所有其他参数都保持不变,并且性能向南,总响应时间为ca. 30-40s。
我认为3x 1循环运行或多或少相当于1x 3循环运行。似乎不是问题。任何人都可以向我解释为什么会这样? 或者,如果这应该是等价的,任何想法在哪里寻找降低性能的罪魁祸首?
答案 0 :(得分:0)
您所说的是,如果增加吞吐量(如每秒请求数),响应时间会降低。
基于225个线程发出单个请求,加速时间为110秒,您的吞吐量将在每秒2个请求的范围内。将循环计数增加到3将增加大约每秒3到6个请求(假设没有定时器)。当然,如果响应时间增加,那么您将无法达到此问题的吞吐量水平。
鉴于这个请求已经花了8-9秒,这不是特别快,可以假设幕后有一些沉重的想法,你只是遇到了瓶颈,某处...... / p>
尝试使用更少的线程和更长的时间,然后监视响应时间和吞吐率。在某些时候,当负载增加时,您会看到响应时间开始降低,然后此时您需要卷起袖子并查看AUT中发生的情况。
请注意。 3 x 1循环与1 x 3循环不同。迭代之间的延迟将导致具有多次迭代的一个线程具有不同的吞吐量而不是具有一次迭代的更多线程,其中吞吐量由加速决定,而不是延迟。也就是说,这不是你在问题中描述的内容 - 你提到线程的数量是一致的。
答案 1 :(得分:0)
除了Oliver的回答:尝试使用Active Threads Over Time Listener之类的自定义监听器 - 来监控您的负载情况。
您还可以使用此侦听器重试上述情况 - 当然,您将看到图表中的差异。