首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

LoadRunner性能测试指挥中心Controller

诚信丨进取丨合作丨创新

招进松勤,送去企业 你若有梦,松勤有心

松勤与你相约

零基础就业班&自动化班

关注撩小编

和你手舞足蹈聊测试

五、事务、同步点和思考时间

1、Transaction(事务)

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

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

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

设置Transaction的方法如下:

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

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

下面的脚本例子中将登陆操作设为一个名为"login"的事务:

如果手工插入的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。

2、Rendezvous Point同步点

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

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

注意:

只能在Action中添加集合点(不能在vuser_init或vuser_end中添加)。

同步点只有多用户并发的场景,同步点的意义才表现出来。

3、注释

LoadRunner支持C语言的注释方法:

多行注释:

/*这是多行注释*/

单行注释:

//这是单行注释

4、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

关注“松勤软件学院”

松勤

学习技术,多问问题,和松勤一起成长

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180517B1BHTN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券