loadrunner 场景设置集合点策略

本贴最后更新于 1575 天前,其中的信息可能已经东海扬尘

本节学习的内容:

  controller的简介以及原理
  
  场景集合点

Controller介绍

Controller是loadruner的核心组件,承担着多种工作任务。最常见的就是场景的设计,压力机的部署,脚本调度,监控以及数据收集

Controller的工作原理

通过场景设计来模拟用户的真实操作并调用VuGen中的脚本,再通过设置的压力机产生压力。在场景运行过程中,Controller可以收集虚拟用户执行情况、事务响应时间,吞吐量、各个服务器资源以及各个应用资源的信息并实时显示,以便我们分析。

Controller启动方式有如下两种:
可以从开始菜单下的HP LoadRunner—>Applications—>Controller

也可以从VuGen中选择Tools—>Create Controller Scenario

直接从桌面的图标启动

image.png

启动完成的页面:

image.png

select Scenario Type:选择场景,主要有两种:

Manual Scenario:手工场景,可以勾选是否使用百分比模式

Goal-Oriented Scenario:基于目标的场景,例如:设定tps 100,设定虚拟用户数的范围,最后根据设置的时间运行,如果没有达到既定目标,则可以选择停止运行或继续运行

这里以手工场景为例介绍:

image.png

打开场景之后

image.png

集合点

1、什么是集合点?

集合点:类似同学们要一起去爬山了,这个时候,就需要预定一个地点,大家都到这个地点,然后一起出发

那么在loadrunner里面的集合点功能也是一样的,就是等到所有的用户都到这个点了,然后一起对服务器进行并发操作,比如在登录之前设置一个集合点,所有的并发用户都到这里准备好,一起登录的操作。

2、怎么启用集合点?

回到脚本编辑页面,在脚本的空白处,点击insert—>new step—>Rendezvous

image.png

输入集合点的名称:
lr_rendezvous("登录");

备注:集合点不要添加到事务中,要放到事务外,否则事务的统计会把集合点的等待时间也统计进去保存脚本之后,在场景里面需要重新选择一下该脚本

image.png

在controller中,点击Scenario—>Rendezvous按钮

image.png

集合点对话框信息:

image.png

Rendezvous:集合点的列表

Scripts:当前脚本的名称

Vuser:当前设置的并发用户数

image.png

Policy:集合点策略如下:

当所有用户的X%到达集合点时释放

当所有正在运行的用户的X%到达集合点时释放

当X个用户到达集合点时释放

超过设置

举例说明:

第一种策略:Release when X% of all vusers arrive at the rendezvous(当所有用户的X%到达集合点时释放)

比如50%
image.png

看看在场景里面怎么表现呢?

例如:场景设置如下,8个用户,每30秒启动2个用户:

image.png

点击start scenario按钮

image.png

刚开始跑2个用户

image.png

当达到4个用户的时候,开始跑

image.png

当没有达到4个的时候,就会等待,用户数比较少,等待时间比较短

image.png

第二种策略:Release when X% of all running vusers arrive at the rendezvous(当所有正在运行的用户的X%到达集合点时释放)

image.png

例如:场景设置如下,16个用户,每30秒启动2个用户:

image.png

刚开始跑2个用户

image.png

当没有达到正在运行用户的50%时,就等待

image.png

image.png

第三种策略:Release when N vusers arrive at rendzvous(当X个用户到达集合点时释放)

image.png

场景设置如下,16个用户,每30秒启动2个用户:

image.png

刚开始启动2个用户,当没有达到4个用户的时候,就等待

image.png

image.png

达到4个用户,就开始执行

image.png

这也是比较好理解的策略

Timeout beween vusers:30 sec: 当达到30秒之后,就不在等待,也像我们日常生活中一样,当预定超过30分钟之后,还有同学没有来,就不等待了

上面就是三种策略的集合点设置的方法

3、集合点在性能测试中的作用?

① 模拟瞬间的并发,看服务器抗压能力

② 用于秒杀场景,达到更好的模拟真实的情况

备注:没有绝对的并发,在性能测试过程中,不一定都要用集合点

回帖
请输入回帖内容 ...