面向目标的场景设置--Goal-Oriented Scenario

时间:2022-01-17 16:35:48

在场景设置的时候会有两种场景设置方式:

1,手动模式(Manual Scenario) 2.面向目标的场景设置模式(Goal Oriented scenario)

其中手动模式使用较多,而且灵活应用,能够更灵活的模拟实际的性能测试;这里讲目标场景设置;

首先,选择Goal Scenario

面向目标的场景设置--Goal-Oriented Scenario

对其进行相关设置

面向目标的场景设置--Goal-Oriented Scenario

在面向目标的方案中,用户可以定义自己希望实现的测试目标,lr将根据第你故意的目标自动为用户创建一个方案。

目标可以分为五种:VUser,pages per minute, transaction per second, hits per second,trasaction response time;

Virtual Users Goal: 如果需要测试多少人可以同时运行Web应用,那么推荐定义Virtual Users Goal. 运行定义该目标类型的场景和运行Manual 类型的场景类似。

Hits per Second: 如果想测试Web Server的真正实力,推荐定义目标类型为:Hits per Second,Pages per Minute 或者Transactions per Second,这些类型都需要制定一个虚拟用户的最大值和最小值的范围。Controller试图使用最少的虚拟用户来达到定义的目标。如果使用最少的用户,不能达到目标,Controller会自动增加用户数,知道定义的最大值人数。如果使用了最多的虚拟用户数,定义的目标还没有实现,那么需要增加最大用户数,重新执行场景。(这里我不知道这样情况下事停止还是系统会有提示?)

Transactions Response Time: 如果想知道在多少用户并发访问网站时,事务的响应时间达到性能指标说明书中规定响应时间的最大值,那么推荐使用Transactions Response Time类型,指定需要测试的事务的名称,虚拟用户数量的最大值和最小值,还有预先定义好的事务的响应时间。在场景运行中,如果使用了最多的虚拟用户,还不能达到定义的最大响应时间,说明Web Server还有能力接纳定义的虚拟用户的最多数量;如果在使用了部分虚拟用户,就达到了定义的最大的响应时间,或者LoadRunner提示如果使用更多数量的虚拟用户时将要超过最大响应时间,那么需要重新设计或者修补应用程序,同时可能需要升级WEB SERVER的软硬件。

理解各种类型:

如果你定义的类型是Pages per Minute, Hits/Transactions per Second,Controller首先用定义的目标/最小用户数,得到一个值,就可以确定每个用户应该达到的Hits/Transactions per Second或是Pages per Minute,然后Controller开始按照以下的策略加载用户:

1.如果选择的是自动加载虚拟用户,LR会首先加载50个用户。如果定义的最大用户数小于50,LR就会一次性加载所有的虚拟用户。

2.如果选择的是在场景运行一段时间后达到目标,LR就会尝试在定义的这段时间内达到目标,根据时间限制和计算出的每个用户的hits, transactions或者pages,LR确定第一批加载用户多少。(不太理解这个)

3.如果选择的是按照一定的阶段达到目标(也就是先在X长时间内达到y pages/hits,然后再达到下一个目标),lr计算每个用户应该达到的数字后,再确定第一批加载多少用户。

每加载一批用户后,LR会判断是否达到这批用户的目标,如果这批用户的目标没有达到,LR重新计算每一个用户应该达到的目标数字后,重新调整下一批加载用户的数量,默认情况下,LR每两分钟加载一批用户。如果Controller加载了最多数量的用户还没有达到预定的目标,LR会重新计算每个用户的目标,然后同时运行最大数量的用户,尝试达到预定的目标。

如果出现以下情况,pages per minute,hits/transactions per second类型的场景会置于Failed状态:

1.controller使用了指定的最大数量的用户,并且两次都没有达到目标

2.所有的用户运行都失败

3.没有足够的load generators机器(现有的机器已经超载运行的情况下)

4.Controller增加了几批用户后,pages per minute 或者Hits/transaction per second 没有增加

5.Controller记载第一批用户后,定义的目标没有被捕捉到

【Automatic】:指示Controller运行一批中默认数量的Vuser(每两分钟运行50个Vuser,或者在定义的最大Vuser数少于50时运行所有的Vuser)。

【Reach target number of hits per second after XXX HH:MM:SS】:用来选择Controller达场景运行多久内达到预期目标时间。

【Step up by XXX hit per second】(对于每秒事务数和事务响应时间目标类型不可用):用来选择Controller达到定义的目标的速度(一定时间内的虚拟用户数/单击次数/页面数)。