本节学习的内容:
controller的简介以及原理
场景集合点
Controller介绍
Controller是loadruner的核心组件,承担着多种工作任务。最常见的就是场景的设计,压力机的部署,脚本调度,监控以及数据收集
Controller的工作原理
通过场景设计来模拟用户的真实操作并调用VuGen中的脚本,再通过设置的压力机产生压力。在场景运行过程中,Controller可以收集虚拟用户执行情况、事务响应时间,吞吐量、各个服务器资源以及各个应用资源的信息并实时显示,以便我们分析。
Controller启动方式有如下两种:
可以从开始菜单下的HP LoadRunner—>Applications—>Controller
也可以从VuGen中选择Tools—>Create Controller Scenario
直接从桌面的图标启动
启动完成的页面:
select Scenario Type:选择场景,主要有两种:
Manual Scenario:手工场景,可以勾选是否使用百分比模式
Goal-Oriented Scenario:基于目标的场景,例如:设定tps 100,设定虚拟用户数的范围,最后根据设置的时间运行,如果没有达到既定目标,则可以选择停止运行或继续运行
这里以手工场景为例介绍:
打开场景之后
集合点
1、什么是集合点?
集合点:类似同学们要一起去爬山了,这个时候,就需要预定一个地点,大家都到这个地点,然后一起出发
那么在loadrunner里面的集合点功能也是一样的,就是等到所有的用户都到这个点了,然后一起对服务器进行并发操作,比如在登录之前设置一个集合点,所有的并发用户都到这里准备好,一起登录的操作。
2、怎么启用集合点?
回到脚本编辑页面,在脚本的空白处,点击insert—>new step—>Rendezvous
输入集合点的名称:
lr_rendezvous("登录");
备注:集合点不要添加到事务中,要放到事务外,否则事务的统计会把集合点的等待时间也统计进去保存脚本之后,在场景里面需要重新选择一下该脚本
在controller中,点击Scenario—>Rendezvous按钮
集合点对话框信息:
Rendezvous:集合点的列表
Scripts:当前脚本的名称
Vuser:当前设置的并发用户数
Policy:集合点策略如下:
当所有用户的X%到达集合点时释放
当所有正在运行的用户的X%到达集合点时释放
当X个用户到达集合点时释放
超过设置
举例说明:
第一种策略:Release when X% of all vusers arrive at the rendezvous(当所有用户的X%到达集合点时释放)
比如50%
看看在场景里面怎么表现呢?
例如:场景设置如下,8个用户,每30秒启动2个用户:
点击start scenario按钮
刚开始跑2个用户
当达到4个用户的时候,开始跑
当没有达到4个的时候,就会等待,用户数比较少,等待时间比较短
第二种策略:Release when X% of all running vusers arrive at the rendezvous(当所有正在运行的用户的X%到达集合点时释放)
例如:场景设置如下,16个用户,每30秒启动2个用户:
刚开始跑2个用户
当没有达到正在运行用户的50%时,就等待
第三种策略:Release when N vusers arrive at rendzvous(当X个用户到达集合点时释放)
场景设置如下,16个用户,每30秒启动2个用户:
刚开始启动2个用户,当没有达到4个用户的时候,就等待
达到4个用户,就开始执行
这也是比较好理解的策略
Timeout beween vusers:30 sec: 当达到30秒之后,就不在等待,也像我们日常生活中一样,当预定超过30分钟之后,还有同学没有来,就不等待了
上面就是三种策略的集合点设置的方法
3、集合点在性能测试中的作用?
① 模拟瞬间的并发,看服务器抗压能力
② 用于秒杀场景,达到更好的模拟真实的情况
备注:没有绝对的并发,在性能测试过程中,不一定都要用集合点
欢迎来到testingpai.com!
注册 关于