事务时间

一个事务的时间是指持续时间,事务会完全记录下从事务开始到事务结束之间的时间差,那么事务的时间能真实地反映业务操作的时间吗?不能,就好像人用手按秒表来记录短跑时间一样,得出的时间并不是完全准确,存在观察的误差和操作的误差,对于一个事务时间来说,一般由四部分组成

1。 响应时间

这是事务的目的,通过事务记录业务操作所消耗的响应时间。

事务自身时间

事务中哪怕没有操作,也是需要时间的,不过这个时间一般在0.01秒左右,所以可以忽略。

2. 思考时间(Think Time)

Think Time是LoadRunner提供的一种模拟用户等待的方式,通过lr_think_time()函数实现。在函数内写入对应的时间(单位是秒),当脚本在Controller中运行到该函数时就会等待相应的时间。注意在VuGen中,回放Think Time默认关闭。

3. 浪费时间(Wasted Time)

在使用事务的时候,经常会看到在事务日志中有Wasted Time。Wasted Time是指事务中应该扣除的由于其他原因导致的时间浪费。在默认情况下LoadRunner会将自身脚本运行浪费的时间自动记入Wasted Time。例如执行关联、检查点等函数的时间。

4. 除了脚本自身浪费的时间,某些时候使用C语言等外部接口进行处理所消耗的时间也会影响事务的时间,而这个时间LoadRunner无法处理,在这种情况下就需要人为地计算第三方时间开销,并且将这个开销的时间记入Wasted Time中。

例如这样的脚本:

  1. merc_timer_handle_t timer; //变量声明
  2. lr_start_transaction("Demo");
  3. timer=lr_start_timer();
  4. lr_load_dll("getkey.dll");
  5. lr_save_string(getrandkey(),"key");
  6. //通过调用dll获得密钥
  7. wasteTime=lr_end_timer(timer);
  8. lr_wasted_time(wasteTime*1000);
  9. lr_end_transaction("Demo", LR_AUTO);

计算密钥是很消耗时间的,那么可以使用timer这个变量来记录计算的时间,并将这个时间从整个事务中扣除。

注意: 在计算Wasted Time时不要直接使用lr_wasted_time()覆盖,而忘了加上脚本中LoadRunner函数的自身时间。通过lr_get_transaction_wasted_time()函数可以获得事务自身的Wasted Time,将这个时间累加上第三方统计的Wasted Time再通过lr_wasted_time()函数覆盖。

最新文章

  1. 将abc的全排列输出
  2. 区分IE版本的三个方法
  3. 查看80端口被占用的方法(IIS、apmserv、system)
  4. Gulp:基于流的自动化构建工具
  5. [makefile] filter-out
  6. Linux学习之六-Yum命令的使用
  7. 实现android里面WebView显示内容
  8. SQL 收缩数据库日志的几种办法 (2005与2008 略有区别)
  9. USB有时adb shell连不上设备
  10. 记一次InputStream引起的乱码
  11. You have new mail in /var/spool/mail/root消除提示的方法
  12. chrome 调试功能使用说明
  13. 【C++】c++11多线程初探
  14. 【Dubbo实战】 Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(转)
  15. Oracle11gR2
  16. appium+python自动化38-adb shell按键操作(input keyevent)
  17. 【Python编程:从入门到实践】chapter5 if语句
  18. 002_IO磁盘深入理解
  19. POJ 1654 Area 计算几何
  20. CSS 伪类和伪元素--pseudo

热门文章

  1. SDOI2011 拦截导弹
  2. Centos7中 mysql5.7 用户 创建 、授权、远程登录
  3. Centos7中yum安装jdk及配置环境变量
  4. 编码&解码
  5. 解决sqlplus无法退格问题
  6. 如何用纯 CSS 创作一个同心圆弧旋转 loader 特效
  7. Ubuntu16.04进入无限登录状态的解决办法
  8. 使用JQuery.slideBox实现图片滚动效果
  9. ubunt设置终端快捷键设置 及 常用快捷键
  10. Spring使用JdbcTemplate实现对数据库操作