`
happyqing
  • 浏览: 3194511 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

在LoadRunner的脚步编写中,有三个重要的概念:事务、集合点、思考时间

  事务:

  事务又称为Transaction,在LoadRunner中的定义如下:An end-to-end(browser-to-browser) measurement of one or more user actions within action file。中文理解如下:事务(Transaction)是这样一个点,我们为了衡量某个action的性能,需要在action的开始和结束位置插入这样一个范围,这就定义了一个transaction。

  事务的作用:LoadRunner运行到该事务的开始点时,LoadRunner就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在LoadRunner的运行结果中会有反映。通俗的讲LoadRunner中的事务就是一个计时标识,LoadRunner在运行过程中一旦发现事务的开始标识,就开始计时,一旦发现事务的结束表示,则计时结束,这个过程中得到的时间即为一个事务时间。通常事务时间所反映的是一个操作过程的响应时间。

  下面我们说说为什么在LoadRunner中使用事务。为什么使用事务的原因是多种多样的,总结下来如下五点所示:

  1、事务是LoadRunner度量系统性能指标的唯一手段;(没有事务则没有办法衡量系统的响应时间,也许有人说LoadRunner可以通过编程来计时得到,不错如果你编程能力够强是能够实现的,但肯定不如LoadRunner中的事务用的简单而且方便)

  2、事务能够用于度量高风险业务流程的性能指标;

  3、事务能够度量在一组操作中每一步的性能指标;

  4、通过事务计时实现了不同压力负载下的性能指标对比;

  5、通过事务计时可以帮助定位性能瓶颈;

  从性能测试的 角度出发,我们需要知道不同的操作所花费的时间,这样我们就可以衡量不同的操作对被测系统所造成的影响,那么我们如何知道不同的操作所花费的时间,这就用 到了事务,我们在操作之前插入一个事务开始标识,在操作完成后插入一个事务结束表示,这样我们就知道了这个操作所花费的时间。

  集合点:

  执行负载测试时,需要模拟系统上有较重的用户负载。要实现此操作,可以同步 Vuser 以便恰好在同一时刻执行任务。通过创建集合点,可以配置多个 Vuser 同时执行操作。当某个 Vuser 到达该集合点时,将进行等待,直到参与该集合的全部 Vuser 都到达。指定数量的 Vuser 均到达后,释放所有这些 Vuser。

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

  注意:只能向 Action 部分(而不是 init 或 end 部分)添加集合。

  插入集合点是为了衡量在加重负载的情况下的性能情况。在计划中,可能会要求系统能够承受1000 人同时提交数据,在LoadRunner 中可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,LoadRunner 就会检查同时有多少用户运行到集合点,如果不到1000 人,LoadRunner 就会命令已经到集合点的用户在此等待,当在集合点等待的用户达到1000 人时,LoadRunner 命令1000 人同时去提交数据,从而达到计划中的需求

  思考时间:

  loadrunner 思考时间(think-time)的理解

  经常碰到很多网友在问性能测试思考时间的设置,有的设置是默认录制的值,有的是觉得在压力测试时要去掉思考时间这样服务器压力才大,各人的理解不一样其实在测试时是要适当加入思考时间但是时间不能太长一般都是1--5秒内。下面是对思考时间的一些说法。

  在录制脚本时 我们一般会选择记录思考时间 record think time,Loadrunner做为性能测试工具,录制时记录的是客户端和服务端的交互,如果要精确模拟 用户的行为,那么客户操作客户端时花费了很多时间要怎么模拟呢?录入填写提交的内容,从列表中下拉搜索选择特定的值等,这时LOADRUNNER 不会记录用户 的客户端操作,而是记录了用户这段时间,成为思考时间(Think-time),因为用户的这些客户端操作不会影响服务端,只是让服务器端在这段时间内没有请求而已。,所以加入思考时间就能模拟出熟练的或者生疏的用户操作,接近实际对于服务端的压力。

  Vuser 思考时间模拟实际用户在不同操作之间等待的时间。例如,当用户收到来自服务器的数据时,可能要等待几秒钟查看数据,然后再做出响应。这种延迟就称为“思考时间”。VuGen 使用 lr_think_time 函数将思考时间值录制到 Vuser 脚本中。以下录制的函数指明用户等待了 8 秒钟才执行下一个操作:

  lr_think_time(8);

  当您运行了 Vuser 脚本并且 Vuser 遇到了上述 lr_think_time 语句时,默认情况下,Vuser 将等待 8 秒钟后再执行下一个操作。可以使用思考时间运行时设置来影响运行脚本时 Vuser 使用录制思考时间的方式。

分享到:
评论

相关推荐

    LoadRunner 基础资料

    总结起来,LoadRunner的基础涉及场景设计、虚拟用户、事务、思考时间、集合点以及事务响应时间等多个方面。理解并熟练运用这些概念,能够有效地进行性能测试,优化系统的性能,并确保其在高并发情况下的稳定运行。在...

    Loadrunner脚本

    下面将详细介绍Loadrunner脚本中的几个关键点。 #### 二、Action函数详解 **1. 录制登录过程** 在Loadrunner中,`Action()` 函数是执行的主要入口。以下示例展示了如何录制一个简单的登录过程: ```c Action() { ...

    loadrunner函数大全及中文新

    对于获取事务性能数据的函数,LoadRunner提供了以下几个: - lr_get_trans_instance_duration:获取事务实例的持续时间。 - lr_get_trans_instance_wasted_time:获取事务实例浪费的时间。 - lr_get_transaction_...

    LoadRunner工具的使用小结

    更详细的设置在这里点击进去,我们可以看到最上方有一个下拉框,这个下拉框里有几个选项,默讣的是Defailt,描述的是测试的模式,有三种:Defailt、Slow、Ramp Up。 四、测试模式 这三种选择的区别在这里:Defailt...

    LoadRunner性能测试软件操作指导书

    LoadRunner的工作原理主要包括以下几个方面: 1. **Agent进程**:通过Agent进程监控客户端与服务器之间的通信,确保能够准确捕获用户的交互行为。 2. **脚本录制**:使用VuGen录制用户的行为,并将这些行为转换成...

    loadrunner教程

    学习LoadRunner,你需要理解以下几个核心知识点: 1. **Vuser和协议**:Vuser是LoadRunner中的基本测试单元,模拟真实用户的操作。LoadRunner支持多种协议,如HTTP/HTTPS、FTP、Oracle、SQL等,选择合适的协议对...

    LoadRunner培训

    2. **创建Vuser脚本**:使用VuGen(Virtual User Generator)录制用户操作,编辑脚本,添加事务、集合点、思考时间和参数化等元素,以增强脚本的真实性和可重用性。 3. **设置方案**:在Controller中创建方案,定义...

    LoadRunner脚本

    LoadRunner 脚本的开发过程可以分为以下几个步骤: 1. 定义测试项目的目标、环境、脚本、测试数据和硬件等。 2. 创建一个版本文件夹来保存被测应用程序相关的各种不同资源,如截获的.png/.gif图形文件、录制过程...

    loadrunner经典面试题.txt

    **集合点(Rendezvous)**:集合点是Loadrunner中的一个特性,用于控制多个虚拟用户同时执行某个操作。通过设置集合点,可以确保一定数量的虚拟用户在同一时刻到达某个特定的操作点。 Loadrunner通过其Controller...

    loadrunner7.2使用详解

    在开始录制脚本之前,理解以下几个关键概念是非常重要的: **2.1.1 事务(Transaction)** 事务是指一系列操作中的最小单元,通常用于衡量某个业务流程的性能表现。 **2.1.2 集合点(Rendezvous)** 集合点是...

    loadrunner

    事务是LoadRunner中一个重要的概念,指的是用户执行的一系列操作的集合,通常用来衡量某个业务流程的执行效率。在LoadRunner中,可以手动定义事务,也可以通过自动方式识别事务。事务通常用于衡量系统的响应时间和...

    LoadRunner基础培训资料

    性能测试工具架构通常包括以下几个关键组件: - **虚拟用户脚本产生器(Virtual User Generator)**:用于录制或编写模拟用户行为的脚本。 - **压力产生器(Player)**:执行虚拟用户脚本,产生负载。 - **用户代理...

Global site tag (gtag.js) - Google Analytics