LoadRunner中脚本增强技术之事务

1.6脚本增强技术之事务
事务,叫transaction,是用来业务操作的响应时间,在LoadRunner中,需要做的操作就是在请求的出发前添加一个事务开始的计数器,在请求结束的地方添加一个事务结束的计数器,Vugen会自动计算函数间的时间差。一般是由两个时间函数实现的,
lr_start_transaction()、lr_end_transaction()
可以通过下图的两个图标添加,也可以右键insert->start transaction和end transaction进行添加
在这里插入图片描述

添加完事务函数执行脚本后,在日志中可以看到以下信息:
在这里插入图片描述

事务的结束的说明中包含了请求所花费的时间为Duration和Wasted time。
事务的操作很简单,我们来看一下需要注意的事项:
1、 事务函数仅仅是两个计时器函数,对脚本本身的业务功能并不会造成影响。
2、 事务函数要保证成对出现(执行),在LR中,事务函数是通过名称建立对应关系的。一定要保证开始和结束的函数中,事务名称的一致性。
3、 事务函数的添加位置,取决于测试人员自身的需求
4、 事务函数的时间构成:
事务时间=事务结束的时间-事务开始的时间
预期:事务时间=响应时间
但是事实上,事务时间并不等于响应时间,一个事务时间通常由三个部分组成:
事务时间=响应时间+wasted time +think time
在LR中,事务函数本身是不会去统计响应时间,但是会识别出wasted time和think time。
Wasted time :浪费时间,是指LR的脚本本身代码层面编译执行所消耗的时间,不包含代码执行之后的效果所引起的时间。一般来说,该时间越差,则说明负载机的性能越差。(在Controller,LR会自动将wasted time 从事务时间中剔除,也就是说在Controller中获得的事务时间=事务时间-wasted time=响应时间+think time)
Think time :思考时间,是指LR的思考时间函数实际执行所等待的时间。当测试结果从Controller导入到Analysis之后,默认情况下,LR是将思考时间从事务时间中剔除的。也就是说,在Analysis中所看到的事务响应时间=事务时间-wasted time – think time。
在脚本中,我们要尽可能的避免在事务函数中添加一些和请求无关的代码。
响应时间:包括网络时间、服务器处理时间、网络延迟。
5、 事务的结束状态:
LR_PASS:表示事务的结束状态为pass。
LR_FAIL:示事务的结束状态为fail。
LR_STOP:表示事务的结束状态为stop。
LR_AUTO:表示自动,LR会根据事务函数中所有有结束状态的函数(有结束状态是指有返回的函数)的结束状态来自动判断事务的结束状态。
如果所有的函数结束状态为pass,则事务为pass。
如果有任意函数的结束状态为faile,则事务为fail。
如果有任意函数的结束状态为stop,则事务为stop。
一般来说,根据函数是否和服务器进行通信,可以将函数分为两类:
·请求类函数:和服务器进行通信的。
·功能型函数:不和服务器通信,是用来完成一些数据、配置工作的
对于功能型函数来说,函数的结束状态取决于函数的功能是否成功。
对于请求类函数来说,是根据服务器响应的状态码(响应代码)来进行判断的。
一般来说,1xx、2xx、3xx表示成功;4xx、5xx表示失败。
这个自动判断仅仅是完成了通信逻辑层面的判断,没有对业务进行判断。
而为了保证我们所获取到的事务时间的有效性,我们必须对请求的业务是否成功进行更进一步的判断,这样就需要用到检查点技术。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谷雨飞鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值