事务 

在LoadRunner里,我们定义事务主要是为了度量服务器的性能。每个事务度量服务器响应指定的Vuser请求所有的时间,这些请求可以是简单任务,也可以是复杂任务。

  要度量事务,需要插入Vuser函数以标记任务的开始和结束。在脚本内,可以标识的事务不受数量限制,每个事务的名称都不同。

  在场景执行期间,Controller将度量执行每个事务所用的时间。场景运行后,可使用LoadRunner的图和报告来分析各个事务的服务器性能。

  设置Transaction的方法如下:

  • 选择新Transaction开始点,在被度量脚本段之前插入lr_start_transaction。
  • 选择新Transaction结束点,在被度量脚本段之后插入lr_end_transaction

如果手工插入的Transaction如果称为“显式事务”的话,那么LoadRunner还提供了一种“隐式事务”的机制,在VU的Run-time Settings中又称为“自动事务”。

  在Run-time Settings中,在Miscellaneous选项卡的Automatic Transactions中定义自动事务。

  Vuser => Run-time Setting => Miscellaneous

  可以设置LoadRunner直接按事务处理Vuser中的每个Action或step。这里,Action指的是vuser_init、Action和vuser_end三大函数,而step指的是LoadRunner执行的每个函数。LoadRunner将Action名或step指定为事务名。默认情况下,将启用按Action使用自动事务的功能。

  • 要禁用按操作使用自动事务的功能,清除"Define each action as a transaction"复选框(默认情况下启用)。
  • 要启用按步骤使用自动事务的功能,选中"Define each step as a transaction"复选框。

  Transaction的开始点和结束点必须在一个Action中,跨越多个Action是不允许的。Transaction的名字在脚本中必须是唯一的,当然也包括在多个Action的脚本中唯一。你也可以在一个Transaction中创建另外一个Transaction,叫做Nested Transaction。

Rendezvous Point同步点

在系统上模拟较重的用户负载,需要同步各个Vuser以便在同一时刻执行任务。通过创建集合点,可以确保多个Vuser同时执行操作。当某个Vuser到达该集合点时,Controller会将其保留,直到参与该集合的全部Vuser到达。Controller才允许Vuser执行

可通过将集合点插入到Vuser脚本中来指定回合位置。在Vuser执行脚本并遇到集合点时,脚本将暂停执行,Vuser将等待Controller的允许才继续执行。Vuser被从集合释放后,将执行脚本中的下一个任务。

lr_rendezvous("the begin port");  //集合点

注意:

  1. 只能在Action中添加集合点(不能在vuser_init或vuser_end中添加)。
  2. 同步点只有多用户并发的场景,同步点的意义才表现出来。

Think Time(思考时间)

用户在执行两个连续操作期间等待的时间成为“思考时间”。Vuser使用lr_think_time函数模拟用户思考时间。录制Vuser脚本时,Vugen将录制实际的思考时间并将相应的lr_think_time脚本插入到Vuser脚本。此功能通过lr_think_time实现。

  lr_think_time参数的单位是秒,比如lr_think_time(5)意味着LoadRunner执行到此条语句时,停留5秒,然后再继续执行后面的语句。

  如果不想在脚本中执行Think Time语句,需要逐条语句删除,这是非常麻烦,LoadRunner提供了再Run-time Settings中可以设置直接忽略Think Time,而不用修改脚本。

  有Think Time比没有Think Time的脚本对服务器造成的压力更小,但是有Think Time才是更符合用户的实际工作场景的。

  Vuser => Run-time Settings => General => Think Time

loadrunner 事务、同步点和思考时间的更多相关文章

  1. LoadRunner ---思考时间设置

    用户访问某个网站或软件,一般不会不停地做个各种操作,例如一次查询,用户需要时间查看查询的结果是否是自己想要的.例如一次订单提交,用户需要时间核对自己填写的信息是否正确等. 也就是说用户在做某些操作时, ...

  2. LoadRunner 技巧之 思考时间设置

    LoadRunner 技巧之 思考时间设置 用户访问某个网站或软件,一般不会不停地做个各种操作,例如一次查询,用户需要时间查看查询的结果是否是自己想要的.例如一次订单提交,用户需要时间核对自己填写的信 ...

  3. LoadRunner事务/集合点/思考时间详解(转)

    在LoadRunner的脚步编写中,有三个重要的概念:事务.集合点.思考时间. 一.事务: 事务又称为Transaction,我们为了衡量某个action的性能,需要在action的开始和结束位置插入 ...

  4. LoadRunner手写脚本、检查点、集合点、事务、思考时间

    手写脚本 什么时候要手写? 可以有条件手写脚本的场景有两类: 有接口说明文档 没有借口说明文档,要去录制,录制不了,抓包手写 所需函数 我们这里讲的例子是基于 http 协议的,也是常见的两种请求类型 ...

  5. LoadRunner几个重要的概念:事务、集合点、思考时间

    在LoadRunner的脚步编写中,有三个重要的概念:事务.集合点.思考时间 事务: 事务又称为Transaction,在LoadRunner中的定义如下:An end-to-end(browser- ...

  6. LoadRunner 思考时间与事务响应时间的区别与关系

    LoadRunner 思考时间与事务响应时间的区别与关系   思考时间lr_think_time 就是一个事务要开始时思考的时间;比如 你要点击一个 登录按钮 我们都要点击这个按钮要先思考下 就是人为 ...

  7. 性能学习笔记之四--事务,思考时间,检查点,集合点和手写lr接口

    一.事物,思考时间,检查点,集合点 1.事务 lr里面的事物是lr运行脚本的基础.lr里面 要测试的三个维度都以事物为单位,所以一定要有事物.事务的概念贯穿loadrunner的使用,比如我们说的响应 ...

  8. Loadrunner之脚本的思考时间(固定/随机)设置、调试、保存、测试服务器监控等(六)

    一.思考时间的设置 1)设置固定思考时间: Action(){ // … your code lr_think_time(3); //固定设置此处思考时间3s // … more of your co ...

  9. 性能测试基础---事务&检查点&思考时间&集合点

    性能测试脚本的增强:·参数化·关联·事务·检查点·思考时间·集合点 ·事务:事务的引入是为了度量相关的业务请求的响应时间和吞吐量指标.在LR中,事务是通过两个事务函数来实现的. lr_start_tr ...

随机推荐

  1. 【css】max-height,min-height,height一起使用时,优先级问题

    MDN说法: max-height 这个属性会阻止 height 属性的设置值变得比 max-height 更大. max-height 属性用来设置给定元素的最大高度. 如果height 属性设置的 ...

  2. 【vue】vue +element 搭建项目,组件之间通信

    父子组件通信 父 通过props属性给 子传递数据 子 操作 父  this.$parent.XXX 子通过$emit传递参数 或者通过vue-bus vue-bus既可以实现父子组件之间的通信,也可 ...

  3. 【mongoDB查询进阶】聚合管道(三)--表达式操作符

    https://segmentfault.com/a/1190000010910985 管道操作符的分类 管道操作符可以分为三类: 阶段操作符(Stage Operators) 表达式操作符(Expr ...

  4. 总结一下linux中的分段机制

    本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 这篇文章主要说一下linux对于分段机制的处理,虽然都说linux不使用分段机制,但是分段机制属于CPU的一个功 ...

  5. Java线程和多线程(十五)——线程的活性

    当开发者在应用中使用了并发来提升性能的同时,开发者也需要注意线程之间有可能会相互阻塞.当整个应用执行的速度比预期要慢的时候,也就是应用没有按照预期的执行时间执行完毕.在本章中,我们来需要仔细分析可能会 ...

  6. C#理解AutoResetEvent和ManualResetEvent

    当在C#使用多线程时就免不了使用AutoResetEvent和ManualResetEvent类,可以理解这两个类可以通过设置信号来让线程停下来或让线程重新启动,其实与操作系统里的信号量很相似(汗,考 ...

  7. echarts 实时获取数据

    html: <div id="realTimeInvoke" class="chart" style="height: 400px;" ...

  8. HBuilder使用夜神模拟器调试Android应用

    由于HBuilder的扫描机制无法直接连上夜神模拟器.我搞了好久终于找到办法了,分享给大家. 首先,启动HBuilder和夜神模拟器 然后打开cmd命令提示符 cd进入夜神模拟器bin目录 执行以下命 ...

  9. 在DevExpress程序中使用PopupContainerEdit和PopupContainer实现数据展示

    在一些数据的即时查询场景中,我们可能需要对输入信息进行模糊查询并进行选择,例如在一些文本输入场景,如输入某个站点编码或者设备编码,然后获取符合的列表供用户选择的场景,本篇随笔介绍在DevExpress ...

  10. linux cgroups 简介

    cgroups(Control Groups) 是 linux 内核提供的一种机制,这种机制可以根据需求把一系列系统任务及其子任务整合(或分隔)到按资源划分等级的不同组内,从而为系统资源管理提供一个统 ...