LoadRunner性能测试系统学习教程:Controller控制器(上)
cac55 2024-09-26 07:28 18 浏览 0 评论
摘要
Controller组件是LoadRunner的控制中心,主要包括场景设计和场景执行两部分。在VuGen中编辑完脚本并将脚本加载到Controller组件中,即开始对脚本运行时的场景进行设计,当场景设计完成后,即可执行该场景。场景设计主要是依据需求说明书制定脚本如何执行的策略,使脚本的运行更接近真实用户使用。场景执行是指当场景设计完成后手动运行场景,在场景执行过程中可以实时对场景产生的数据进行监控。
主要讲述以下几部分内容:
1.场景类型介绍
2.场景设计
3.场景执行
场景类型介绍
Controller控制器提供了手动和面向目标两种测试场景。一般情况下使用手动场景设计方法来设计场景,手动设计场景最大的优点是能够更灵活地按照需求来设计场景模型,使场景能更好地接近用户的真实使用。面向目标场景则是测试性能是否能达到预期的目标,在能力规划和能力验证的测试过程中经常使用到。
Controller的启动有两种方式,可以在“开始”菜单→“所有程序”→HP LoadRunner→Applications→Controller中启动,如图所示。也可以在VuGen发生器菜单Tools→Create Controller Scenario中启动,如图所示。
手动测试场景
启动Controller控制器后,会弹出“新建场景”对话框,如图所示。
“新建场景”对话框中有两种场景方法可以选择:手动场景和面向目标场景。一般手动测试场景使用得较多,因为手动场景更灵活,可以更好地接近用户真实的使用情况。
手动场景又包含两种模式:用户组模式与百分比模式,这两种模式的不同之处在于计算虚拟用户的方式不同。
手动用户组模式如图所示。
在Controller控制器中,点击菜单Scenario→Convert Scenario to the Percentage Mode即可切换到百分比模式,如图所示。
面向目标测试场景
面向目标场景是一个闭环回馈关系。在这种场景模式下,首先定义要达到的目标,接着LoadRunner会自动基于该目标创建场景,在场景运行过程中,LoadRunner会不断地将结果与目标相比较,以决定下一步如何执行。
面向目标测试场景提供了Virtual Users、Hits per Second、Transactions per Second、Transaction Response Time和Pages per Minute五种目标。
如图所示是面向目标测试场景界面。
场景设计
主要介绍手动和面向目标两种场景设计,包括Schedule、View Script和Generator参数的设置。手动和面向目标两种场景的不同主要体现在Schedule参数的设置上,二者的View Script和Generator参数设置都是一致的,故主要介绍手动场景Schedule配置和面向目标场景Schedule配置两部分。
手动场景Schedule配置
在手动场景设计界面,可以看到Scenario Schedule配置界面,如图所示。
Schedule配置主要是用来设置用户的行为方式,这里包括按场景计划和按用户组计划两种。
场景名称(Schedule Name)
可以添加一个场景、对场景进行重命名或删除某个场景,场景命名应该遵循一定的规则,场景名称能反映场景动作,如图所示。
按场景计划(Schedule by Scenario)
Initialize设置:设置脚本运行前如何初始化每人虚拟用户,如图所示。包含三种初始化方式:
方式一:同时初始化所有虚拟用户。
方式二:每隔一段时间初始化一定数量的虚拟用户。
方式三:在脚本运行之前初始化所有虚拟用户。
通常情况下选择第三种方式,在虚拟用户初始化的过程LoadRunner主要是将一个二进制文件发送给负载机,保证负载机能正常模拟多用户的运行指定的脚本,以及运行时的策略,所以只要在运行时,所以虚拟用户初始化完成即可,也即只有当所有虚拟用户都初始化完成后才开始运行脚本。
第一种方式几乎不可能使用,因为这种情况不符合业务逻辑,并且可能会出现这种情况,在并发初始化所有虚拟用户时,初始化失败,导致刚开始运行时,虚拟用户数即没有达到定义的虚拟用户数;
第二种方式也用的比较少,因为不好定义具体多长时间初始化多少个虚拟用户,所以一般使用第三种方式初始化。
Start Vusers设置:设置虚拟用户加载的过程,如图所示。
Start Vusers是指总的虚拟用户数。
加载方式一:同时加载所有的虚拟用户。
加载方式二:每隔一定的时间加载一定数目的虚拟用户。
在实际测试过程中不会选择第一种方式进行加载虚拟用户,有以下几个方面的原因:
第一:实际测试过程中,操作一个业务时,不可能同时并发直接操作,而是有一定的先后顺序。如登录OA自动化办公系统,假设公司有800号人,这800号员工不可能同时去登录,一定是有先后顺序,可能更多的情况是在半个小时内,这样员工全部登录上去。
第二:同时加载可能会导致系统出现瓶颈,而此时并不一定说明系统不能同时并发这些虚拟用户。因为系统也需要“热身”,就像运动员在进行激烈运动之前需要进行热身时一样,所以一般情况都是选择每隔一段时加载一定数目的虚拟用户。
但针对于第二种选择,每隔一段时间加载多少虚拟用户的情况,又存在一个问题,到底隔多长时间加载多少虚拟用户比较合理呢?目前并没有官方说明每隔一段时间应该添加多少虚拟用户, 一般情况有两种方法加载:一是分段加载,一般情况将所有的虚拟用户分为4段进行加载,如一共为100个虚拟用户,分为四段即每一段为25个虚拟用户,可以设置为隔30秒加载25个虚拟用户;二是逐渐递加,每多少时间加载2到5个虚拟用户,使用这种加载方式,一般的情况下可以每隔15秒加载2到5个虚拟用户。对于这种方式运行结束后,性能会有一些差异,在测试过程中可以分别使用这两种方式进行测试。
Duration设置:设置场景执行运行的时间,如图所示。
方式一:一直运行,直到所有的虚拟用户运行结束后,结束整个场景的运行;
方式二:设置场景持续运行时间,一般情况下在进行压力测试时,只需要测试15-30分钟即可,但如果需要测试系统的可靠性和稳定性时,则需要持续运行24小时或3×24小时。
Stop Vusers设置:设置场景执行完成后虚拟用户如何释放的策略,如图所示。需要注意只有在Duration选项卡中设置为“按指定时间运行”时,才需要设置该项。
Stop Vusers:是指释放多少虚拟用户,缺少值为所有虚拟用户,也即释放所有的虚拟用户,但也可以自定义释放多少虚拟用户。
释放方式一:当场景运行结束后,同时释放所有的虚拟用户。
释放方式二:每隔一段时间就停止一定量的虚拟用户,这项和Start Vusers中的第二项一样,区别在于前者是控制虚拟用户加载,后者是控制虚拟用户释放。一般情况下虚拟用户如何添加就如何停止即可。
按用户组计划(Schedule by Group)
按用户组计划设计场景比按场景计划设计场景的设置项中多出了Start Group选项卡,在按用户组计划设计场景中,以组为单位进行计划,每个组都要设置自己的Start Vusers、Duration和Stop Vusers。
按用户组计划方式更加灵活,能够创建实际应用中脚本与脚本之间的约束关系。如一组用户执行后产生的数据记录为另一组用户的输入,这种情况就需要使用“用户组计划”方式来配置场景。使用场景组设置场景策略时,LoadRunner默认将每个脚本为定义为一个组。
Start Vusers、Duration和Stop Vusers选项卡的内容与按场景计划设计场景中的内容一致,故只对Start Group选项卡进行分析,Start Group选项卡内容如图所示。
相关推荐
- 服务器用的CPU和个人电脑用的CPU有什么区别?一篇文章告诉你!
-
服务器cpu和普通cpu的区别你的电脑CPU是‘短跑健将’,服务器CPU却是‘铁人三项选手’——它不追求瞬间爆发力,而要7×24小时扛住千军万马的数据洪流!想知道为什么企业机房敢收天价服务费?答案全藏...
- “吃鸡”新版本第1天,玩家进入游戏点击“立即更新”,后悔了!
-
欢迎诸位小伙伴们来到天哥开讲的《和平精英》“精英小课堂”~每逢两三个月,这款游戏就会迎来一次大版本迭代更新,很多朋友会在第一时间更新版本,前往全新的主题模式里一探究竟。不过也有一些老玩家并不会立刻更新...
- 中关村在线·aigo存储杯《无畏契约》全国高校争霸赛招募启事
-
以青春之名,燃电竞之火1赛事背景与宗旨在金秋送爽的9月,芊芊学子们即将回归校园生活。为了给精彩的校园生活锦上添花,由中关村在线与aigo存储联合主办的《无畏契约》全国高校争霸赛正式启幕,旨在为全国高...
- 【生肖狗】9.7-9.10提醒:人算不如天算,转变即是转机
-
九月上旬的风,带着秋意的清爽,也带着几分不可捉摸的变数。对于生肖狗的朋友们来说,9月7日到9月10日这四天,格外需要留意“计划与变化”的碰撞——你们向来习惯提前规划,做事稳妥周全...
- 转转客服IM系统的WebSocket集群架构设计和部署方案
-
本文由转转技术李帅分享,原题“转转客服IM的WebSocket集群部署方案”,下文有修订和重新排版。1、引言转转作为国内头部的二手闲置交易平台,拥有上亿的用户。用户在使用转转app遇到问题时,一般可以...
- 上线3天Steam好评率86%,《时间旅者:重生曙光》开启生存恐怖新篇章
-
这里究竟发生了什么?末日降临,真正的故事悄然启幕。目前,生存恐怖类游戏《时间旅者:重生曙光(Cronos:TheNewDawn)》已在PC(Steam、EpicGamesStore)、P...
- 什么神仙洗衣机让我一天有28小时?拆开松下「大四洗」藏了啥秘密
-
说起家庭洗衣的烦恼,想必很多人都有过类似的经历:贴身内衣要单独洗,宝宝的口水巾得小心呵护,宠物玩具怕藏污纳垢,床单被套又体积庞大,把这些东西混在一起洗担心越洗越脏,分开洗又得反复操作,洗完烘、烘完再洗...
- 爆料人挖出GTA6注册的奇葩域名 延续经典讽刺风格
-
等待《侠盗猎车手6》的日子跨越了数个春秋,在游戏圈期盼着这部可能成为史上最重磅游戏的过程中,每过一段时间就会有些许消息浮出水面。最新线索来自数据挖掘者Tez2在GTA论坛的发现,他可能偶然发现了关于...
- 跟着故事去旅行——读《驼峰间:旅行、探险与征服》
-
作者:郭冰茹《驼峰间》记录了旅行家伊本·白图泰有生之年流传的一则寓言,说一对父子被关进了监狱,有一天儿子问父亲他们每天吃的都是些什么肉,父亲说有牛、羊和骆驼,并且详细地描述了每种动物的特点。但不管父亲...
- 前端工程师需要熟悉的Linux服务器(SSH 终端操作)指令
-
在Linux服务器管理中,SSH(SecureShell)是远程操作的核心工具。以下是SSH终端操作的常用命令和技巧,涵盖连接、文件操作、系统管理等场景:一、SSH连接服务器1.基本连接...
- 跳票6年后,「丝之歌」首发把Steam服务器干爆了 | 玩点好的
-
文丨果脯樱花隧道昨天晚上22点,「鸽」了6年的《空洞骑士:丝之歌》终于上线,算是了却不少玩家的执念。毕竟,这款游戏实在让人等了太多太多年,而且曾有过多次定档后跳票的「案底」,不知道把多少人都整出了P...
- 对标魔兽失败!腾讯版“魔兽”运营一年多后,宣布国际服凉凉
-
大家好,这里是正惊游戏,我是正惊小弟。有很多游戏都想干掉《魔兽世界》,但是大部分魔兽杀手都知道自己不是魔兽的对手,不过是想蹭一下人气而已。腾讯也有一款曾经想对标魔兽的大作,可是上线才一年半国际服就宣布...
- 408 Request Timeout:服务器等待客户端发送请求的时间过长。
-
408RequestTimeout是HTTP状态码之一,表示客户端在发送请求时,服务器等待的时间过长,最终放弃了处理该请求。此问题通常与网络延迟、客户端配置、服务器设置或者应用程序的性能有关...
- 梦幻西游:9.9维护解读,全新时间服锁定129级
-
梦幻西游:9.9维护解读,全新时间服锁定129级9月9日维护解读。1、教师节活动开启,一共7天。挂机,答题,收笔墨纸砚,收海马,搞起来。或者是提前收点家具,教师节期间体力珍贵,家具会涨价。又或者是教师...
- 只是拆掉一面墙,空间就立马大变样,这种设计思路,值得学习
-
你有没有过这样的经历?刚买的房子户型图看起来方方正正,装修完却发现——玄关鞋柜只能塞在角落,进门就撞墙;餐厅正好在过道中间,吃饭像走流程;明明有四个房间,却有一个空着没用,像块食之无味的鸡肋;客餐厅之...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 服务器用的CPU和个人电脑用的CPU有什么区别?一篇文章告诉你!
- “吃鸡”新版本第1天,玩家进入游戏点击“立即更新”,后悔了!
- 中关村在线·aigo存储杯《无畏契约》全国高校争霸赛招募启事
- 【生肖狗】9.7-9.10提醒:人算不如天算,转变即是转机
- 转转客服IM系统的WebSocket集群架构设计和部署方案
- 上线3天Steam好评率86%,《时间旅者:重生曙光》开启生存恐怖新篇章
- 什么神仙洗衣机让我一天有28小时?拆开松下「大四洗」藏了啥秘密
- 爆料人挖出GTA6注册的奇葩域名 延续经典讽刺风格
- 跟着故事去旅行——读《驼峰间:旅行、探险与征服》
- 前端工程师需要熟悉的Linux服务器(SSH 终端操作)指令
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)