(1)定义
事务是这样一个点,我们为了衡量某个操作的性能,需要在操作开始和结束的位置,插入一个范围,这样就定义了一个Transaction(事务)。
(2)原因
从性能测试的角度出发,我们需要知道不同的操作所花费的时间,这样我们就可以衡量不同的操作对被测系统所造成的影响,那么我们如何知道不同的操作系统所花费的时间,这就用到了事务,我们在操作之前插入一个事务开始标志,在操作完成后插入一个事务结束标志,这样我们就知道这个操作所花费的时间
(3)作用
事务的作用:loadrunner运行到该事务的开始点时,loadrunner就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在LoadRunner的运行结果中会有反映。通俗的讲LoadRunner中的事务就是一个计时标识,LoadRunner在运行过程中一旦发现事务的开始标识,就开始计时,一旦发现事务的结束标识,则计时结束,这个过程中得到的时间即为一个事务时间。通常事务时间所反映的是一个操作过程的响应时间。
(4)函数构造
事务开始函数共包括一个参数,就是事务的名称,事务结束函数共包括两个函数,第一个参数是事务的名称,第二个参数是事务的状态。事务状态可以分为LR_PASS:返回"Pass"返回代码;LR_FAIL:返回"Fail"返回代码;LR_STOP:返回"Stop"返回代码;LR_AUTO:自动返回检测到的状态。Duration表示事务的完成响应时间,wasted time包括事务中函数自身执行所消耗的时间
代码中插入事务,script->Insert Start Transaction(Ctrl+T)或者Insert->Start Transaction
(光标要先移动到插入点,再插入)然后定义事务的名称,如login,脚本中会出现:lr_start_transaction("login");
在结束点点击Insert End Transaction(Ctrl+D),状态选择LR_AUTO运行结束后,查看日志,日志中有运行通知,登录开始和登录结束,结束中有消耗时间
设置后的Replay日志,请见如下截图(Notify):
Duration 运行的时间
Wasted Time 运行函数所消耗的时间
(5)主要事项
在应用事务的过程中,不要将思考时间(lr_think_time函数)放在事务开始和事务结束之间,否则在回放思考时间设置被允许的情况下,思考时间将被算入事务的执行时间,从而影响了对事务正确的执行时间的分析与统计。