如何计算负载转轮的起搏时间

时间:2016-07-11 11:18:35

标签: performance-testing loadrunner

我必须与50个用户一起运行100次迭代。测试的总持续时间为1小时。 1个用户可以进行2次迭代,脚本中的事务数量为6。

如何计算起搏时间?

5 个答案:

答案 0 :(得分:1)

示例:

1000个用户,每小时10000次完整迭代次数

10,000 / 1,000 =每用户每小时10次迭代

每小时3600秒/每小时每小时10次迭代=平均每360秒(6分钟)一次迭代

LoadRunner中的随机算法基于C rand()函数,该函数对于大型数据集大致(但不完全)是均匀的。因此,我采用从一次迭代开始到下一次迭代的平均起搏间隔,然后按正/负20%进行调整。

所以,你的360(0:06:00)第二次起搏变为从288秒(0:04:48)到432秒(0:07:12)的范围。

您将为要分阶段的每个业务流程运行这些计算

对于思考时间,请查看生产日志,以获取有关从第X页到第X + 1页的用户范围的信息。这很容易实现,因为每个顶级页面都指的是REFERER或它来自的上一页。按客户端IP分组的时间戳的比较可以提供思考时间所需的范围。

答案 1 :(得分:1)

总是应用Little's Law来计算起搏,ThinkTime,Vofsers

来自Little's Law:没有VUsers =吞吐量*(Responce_Time + Think_Time)

EXPL。

吞吐量=总交易数/时间秒数 ,起搏=(Response_Time + Think_Time)

根据您的要求 - 总迭代次数100和1次迭代有6次交易,因此交易总数= 600

1分钟的吞吐量是:600/60 = 10 ,1秒的吞吐量为:0.16

根据公式50 = 0.16 *(起搏) 起搏= 312.5秒

要在1小时内完成100次迭代,你必须设置312.5秒的起搏,确保起搏= Response_time + Think_Time。

答案 2 :(得分:1)

起搏是“迭代”的过程。间隙,它用于控制测试期间的迭代率。如果1个用户的目标是每小时完成2次迭代,则结果是1800秒的起搏(上面提到的小法则)。现在,只要这6笔交易的分配时间总和和它们之间的思考时间小于1800秒,您就可以达到所需的费率。 注意:迭代不等于事务,除非迭代只有一个事务。请参阅此内容以获得图片理解

https://theperformanceengineer.com/2013/09/11/loadrunner-how-to-calculate-transaction-per-second-tps/

答案 3 :(得分:0)

起搏是迭代之间的等待时间,因此我同意@Cyber​​Ninja,在您的用例中,起搏时间是1800秒,因为它是您的脚本实现目标的最长持续时间:在一小时内产生100次迭代,50位用户。 起搏不是Response_time + Think_Time!

答案 4 :(得分:0)

根据利特尔定律:

No. of Concurrent Users(N) = 
    Throughput or TPS(X) * [
        Response Time (RT) + Think Time (TT) + Pacing (P)
    ]

这里RT+TT是脚本执行时间SET,您可以通过运行一次脚本并将所有RT事务和所有思考时间加起来来计算。

假设SET为60秒。

根据您的问题

total transactions in 1 hr = 
    100(Iterations) * 
    50(Users) * 
    2(Each User Iteration) * 
    6(No. of Transactions)
= 60000 Transactions/hr

将其转换为TPS = 60000/3600 = 16.66

现在将所有价值观纳入利特尔定律:

50 = 16.66 (60 - Pacing)
Pacing = 60 - 50/16.66
Pacing = 57 secs (approx).