百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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天。挂机,答题,收笔墨纸砚,收海马,搞起来。或者是提前收点家具,教师节期间体力珍贵,家具会涨价。又或者是教师...

只是拆掉一面墙,空间就立马大变样,这种设计思路,值得学习

你有没有过这样的经历?刚买的房子户型图看起来方方正正,装修完却发现——玄关鞋柜只能塞在角落,进门就撞墙;餐厅正好在过道中间,吃饭像走流程;明明有四个房间,却有一个空着没用,像块食之无味的鸡肋;客餐厅之...

取消回复欢迎 发表评论: