您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 性能测试进阶指南:Loadrunner实战91_第4章 负载生成及监控
第4章负载生成及监控Controller.............................................................................................24.1设计场景..........................................................................................................................24.1.1新建场景...............................................................................................................24.1.2负载生成器管理.................................................................................................154.1.3用户管理.............................................................................................................194.1.4运行设置.............................................................................................................194.1.5IP虚拟................................................................................................................214.1.6场景运行原理.....................................................................................................244.1.7ServiceLevelAgreement(服务品质保障)...........................................................264.2系统监控........................................................................................................................304.2.1ScenarioGroups(场景用户状态)........................................................................304.2.2ScenarioStatus(场景运行状态).........................................................................314.2.3计数器原理.........................................................................................................324.2.4计数器管理.........................................................................................................344.2.5SiteScope.............................................................................................................414.3场景运行........................................................................................................................434.4QTP脚本在场景中的运行............................................................................................444.5场景数据........................................................................................................................45小结.........................................................................................................................................46第4章负载生成及监控Controller当虚拟用户脚本开发完成后,使用Controller将这个执行脚本的用户从单人转化为众人,从而模拟大量用户操作,进而形成负载。我们需要对这个负载模拟的方式和特征进行配置,从而形成场景。场景(Scenario)是一种用来模拟大量用户操作的技术手段,通过配置和执行场景向服务器产生负载,验证系统各项性能指标是否达到用户要求,而Controller可以帮助我们对场景的设计、执行及监控进行管理。使用Controller管理场景主要分为场景设计和场景监控两部分,最后通过运行场景完成性能测试的执行。场景执行的流程如图4.1所示。图4.1场景执行流程4.1设计场景通过对场景的设计从而形成和用户需求相同的真实负载。4.1.1新建场景场景分为目标场景和手工场景,创建场景有两种方式。图4.5目标场景设置窗口单击EditScenarioGoal按钮打开目标场景编辑对话框,如图4.6所示。图4.6设置目标场景中的目标在目标场景中最重要的就是目标类型,目标场景提供了五种目标,如图4.7所示,每种目标都有自己独立的设置。图4.7目标场景中提供的目标类型1.VirtualUsers该参数表示虚拟用户数,被测系统所需要支持的用户数。这里只需要填写系统能够达到的用户数目即可。例如:需求规定该系统能够支持100个用户在线发帖。录制用户登录发帖后,在目标场景中将GoalType(目标类型)选择为VirtualUsers,设置Reachgoalof为100个用户即可,如图4.8所示。图4.8设置目标为100个在线用户2.HitsperSecond该参数表示每秒点击数,是指在一秒钟能做到的点击请求数目,即客户端产生的每秒请求数(正常情况下每秒点击数等同于服务器请求响应数)。除了要设置点击的指标,还需要设置在线用户的上下限,场景运行时会自动调整用户数,来测试在一定的用户范围内系统是否都能达到定义的目标。例如:需求规定系统能够支持50~150个在线用户进行浏览操作,客户端发出的请求能力为100次/s(也就是正常情况下系统能够提供每秒钟返回100次HTTP头为200OK的服务器应答)。录制用户浏览操作后,在目标场景中将GoalType(目标类型)设置为HitsperSecond,设置Reachgoalof为100次点击,再设置用户数最小为50最大为150即可,如图4.9所示。图4.9设置每秒点击数目标3.TransactionsperSecond该参数表示每秒事务数,一个事务代表完成一个操作,每秒事务数反映了系统的处理能力。当脚本中含有事务函数时才可以使用,这里需要指定事务名称、TPS指标以及需要完成该指标的用户数。例如:需求规定系统能够在50~150个用户下,能够每秒处理100个用户的登录操作。在录制用户登录操作后,为登录行为添加事务,事务名称为login,设置目标场景的GoalType(目标类型)为TransactionsperSecond,选择事务名称为login,设置Reachgoalof为100,再设置用户数最小为50最大为150即可,如图4.10所示。图4.10设置每秒事务数目标4.TransactionsResponseTime该参数表示事务的响应时间,反映了系统的处理速度以及做一个操作所需要花费的时间。和TransactionsperSecond类似,当脚本中含有事务函数时,可以设定事务响应时问的指标。例如:需求规定系统能够支持50~150个在线用户,登录操作的响应时间在1秒以内。在脚本中包含登录操作的事务,设置目标场景的GoalType(目标类型)为TransactionsResponseTime,选择事务名称为login,设置Reachgoalof为1秒,再设置用户数最小为50最大为150即可,如图4.11所示。图4.11设置事务响应时间目标5.PagesperMinute该参数表示每分钟页面的刷新次数,反映了系统在每分钟下所能提供的Page(页面)处理能力。页面的生成能力反映了一个系统的整体处理能力,一个页面请求包含了多个点击请求。例如:需求规定系统在50~150个用户在线的情况下,能够每秒处理33个页面请求。设置目标场景的GoalType(目标类型)为PagesperMinute,设置Reachgoalof为2000页面每分钟,再设置用户数最小为50最大为150即可,如图4.12所示。图4.12设置每分钟页面处理量目标当设置完成性能的目标后,还需要设置一下场景运行时的模式。这里分为两大部分。(1)ScenarioSettings(场景设置)提供对目标场景运行的一些基础设置,如图4.13所示。图4.13目标场景的场景设置RunTime是指当目标达到后,需要继续运行多少时间来测试系统的稳定性,默认情况为30分钟。目标场景是定性型场景,目标达到并不代表系统就满足了用户需求,还需要进行一段时间的稳定性测试,确保该指标能够在一段时间内达到。而如果目标无法达到,又该如何处理呢?·Stopscenarioandsaveresults:如果无法达到目标,那么整个场景停止运行。·Continuescenariowithoutreaching:无法达到目标场景但仍继续运行。当勾选了Receivenotification复选框时,一旦出现目标无法达到的情况,Controller会弹出信息框,提示信息Thetargetyoudefinedcannotbereached。(2)LoadBehavior(负载生成)提供了对目标场景负载生成方式RampUp的设置,如图4.14所示。此处可以使用自动管理,也可以手工设置一个需要达到目标的时间。图4.14目标场景的负载规则设置当设置完成后,就可以启动目标场景,Controller会自动调整用户个数形成负载,确认在这种负载情况下,定义的目标都可以达到。目标场景的目的就是通过设置目标来验证系统能否达到目标,在项目最后需要确认质量时可以使用目标场景来完成最终的测试报告,而当需要定位瓶颈的时候我们还是推荐使用手工场景。在最终的验收测试中经常需要多个功能同时满足某一性能目标。例如:某系统的需求规定50~150个用户同时在线时(其中用户类型和所占比例为:登录论坛用户20%,浏览论坛用户40%,论坛发帖用户40%),每个用户打开一篇帖子的响应时问在2秒以内。那么我们就需要在目标场景中添加这三种用户行为的脚本,通过ScenarioScript中的“%ofTarget”设置每个脚本用户所占的比例,设置场景目标类型为事务响应时间,浏览操作的响应时间为2秒即可。手工场景(ManualScenari
本文标题:性能测试进阶指南:Loadrunner实战91_第4章 负载生成及监控
链接地址:https://www.777doc.com/doc-17839 .html