我已经对网站进行了负载测试,但是当我增加了no。对于用户,我可以看到吞吐量时间似乎在增加而不是减少。
测试案例1:
没有。线程: 15
加速时间: 450 [因为我希望在两个用户之间延迟30秒]
循环计数:永远
调度程序:1800秒[因为我想测试30分钟]
在Http请求中,我添加了10个页面,每个请求都有 30000 毫秒的常量计时器,因为我需要在两个请求之间放置30秒的延迟。
现在当我看到聚合报告的结果时,它会显示每个请求的吞吐量3 / min。
测试案例2:
没有。线程: 30
加速时间: 900 [因为我希望在两个用户之间延迟30秒]
循环计数:永远
调度程序:1800秒[因为我想测试30分钟]
在Http请求中,我添加了10个请求/页面,每个请求都有 30000 毫秒的常量计时器,因为我需要在2个请求之间放置30秒的延迟。
现在,当我看到聚合报告的结果时,它显示每个请求的吞吐量为6 / min。
我很困惑,怎么可能?如果我的用户从15增加到30,那么它应该在服务器上有更多的负载,并且吞吐量应该减少,如1 / min或2 / min。
请告诉我这里的错误。
答案 0 :(得分:3)
吞吐量不是。完成单位时间。 (完成可以是http请求/ db请求,简而言之就是需要执行的任何事情,并且需要> 0执行时间。)
实施例。每秒req或每分钟req等。
根据JMeter中的吞吐量定义,它计算为总数。请求/总时间。
在你的第一个案例中,没有。在15秒内每次请求中延迟3秒的1800秒内生成的请求数为x。因此吞吐量为x / 30,即3意味着生成约90个请求(从汇总报告或其他报告者验证这一点。)
在你的第二个案例中,其他一切都相同但没有。用户增加了一倍,创造了双倍数量。在给定时间内的请求是(1800秒)
因此根据公式,没有。生成的请求/总时间。
第二种情况下的吞吐量= 2x / 30 =第一种情况下的2 *吞吐量
这是6 / min。 (JMeter正确显示。)
这里的关键是检查否。在两种情况下生成的请求。
我希望这可以解决你的困惑。如果您需要进一步澄清,请与我们联系。 BTW "当我增加了没有。对于用户,我可以看到吞吐量时间似乎在增加而不是减少。" 并非总是如此。
答案 1 :(得分:1)
吞吐量增加了2倍。
吞吐量计算为请求/时间单位。时间从第一个样品的开始到最后一个样品的结束计算。这包括样本之间的任何间隔,因为它应该代表服务器上的负载。
公式为:吞吐量=(请求数)/(总时间)。
您可能还对以下插件感兴趣:
或者Loadosophia.org服务,它可以将您的JMeter .jtl结果文件转换为易于理解的专业负载报告