Controller场景类型的选择
场景类型的选择
录制好脚本之后,就可以把脚本加入到场景里面去了,这里首先介绍一下 LR 的场景类型, LR 有 2 种大的场景类型:
Manual Scenario :该项要完全手动的设置场景,这项下面还可以设置为每一个脚本分配要运行的虚拟用户的百分比,可在 Controller 的 Scenario 菜单下设置。
Goal—Oriented Scenario:如果你的测试计划是要达到某个性能指标,比如:每秒多少点击,每秒多少transactions,能到达多少VU,某个Transaction在某个范围VU(500-1000)内的反应时间等等,那么就可以使用面向目标的场景。
选择手工场景,添加脚本到场景中
场景的设置
Design:设计测试场景的静态部分,设置模拟用户生成器、模拟用户数量、模拟用户组等。
Run:设计测试的动态部分,主要指添加性能计数器,在脚本运行的过程中可以通过这些计数器反馈的数据。
建立了测试场景后,我们可以对Edit Schedule进行设置,设置测试开始执行的时间,对于手动设计的测试还可以设定它的持续时间,以及何时起用或禁止调用模拟用户。
设置集合点
如果在脚本中设置了集合点,还需要在Controller中设置集合点策略。在菜单中调出设置集合点策略的窗口.,脚本运行的时候,在这里可以看到VU的状态。
设置集合点策略
第一个选项表示:场景中所有用户的x%用户到达集合点后,就释放等待的用户,继续执行场景;
第二个选项表示:场景中正在运行的用户的100%到达集合点后,就释放等待的用户,继续执行场景;
第三个选项表示:当x个用户到达集合点时,就释放等待的用户,继续执行场景;
最后的选项表示:当第一个用户到达集合点时,等待30秒,如果在30秒内等到指定数量的用户到达集合点九开始继续执行场景;如果在30秒内还没有等到指定数量的用户到达集合点,就不再等待,开始释放等待的用户,继续执行场景。
各种目标类型的应用范围
Virtual Users Goal: 如果需要测试多少人可以同时运行 Web 应用,那么推荐定义 Virtual Users Goal 。运行定义该目标类型的场景和运行 Manual 类型的场景类似。
Hits per Second: 如果想测试 Web Server 的真正实力,推荐定义目标类型为: Hits per Second 、 Pages perMinute 或者 Transactions per Second ,这些类型都需要指定一个虚拟用户的最小值和最大值的范围。 Controller 试图使用最少的虚拟用户来达到定义的目标。如果使用最少的用户,不能达到目标, Controller 增加用户数,直到定义的最大值。如果使用了最多的虚拟用户数,定义的目标还没有实现,那么需要增加最大用户数,重新执行场景。
Transactions per Second:可以选择一个在脚本里面已经定义好的事务。
Transactions Response Time:如果想知道在多少用户并发访问网站时,事务的响应时间达到性能指标说明书中规定响应时间的最大值,那么推荐使用Transactions Response Time 类型。指定需要测试的事务的名称,虚拟用户数量的最小值和最大值,还有预先定义好的事务的响应时间。在场景运行中,如果使用了最多的虚拟用户,还不能达到定义的最大响应时间,说明Web Server 还有能力接纳定义的虚拟用户的最多数量;如果在使用了部分虚拟用户,就达到了定义的最大的响应时间,或者LoadRunner 提示如果使用最多数量的虚拟用户时将要超过最大响应时间,那么需要重新设计或者修补应用程序,同时可能需要升级Web Server 的软硬件。
Pages per Minute:每分钟多少页面
场景的Run Time Setting的设置
pacing:每个虚拟用户脚本包括三个部分: vuser_init, Run (Actions), vuser_end. 当你运行脚本的时候你能通知,虚拟用户重复执行run部分,每一个重复做为一个 iteration。 注意: vuser_init 和 vuser_end 部分是不被重复的。
Think Time Settings :虚拟用户think time仿效一个真实用户在活动中等待的时间,例如:当一个用户从服务器接受数据的时候,在响应前这个用户需要等待数秒来接受数据,这个被耽搁的时间就是think time。
Error Handling :你能指定一个虚拟用户在脚本执行期间如何处理错误,默认的,当一个虚拟用户发现一个错误的时候,它会随着下一次重复继续下去,你能使用这个设置来通知虚拟用户当发生错误的时候是否继续执行脚本。