我们在通过LoadRunner进行性能测试时,在运行场景时,可以选择通过手动方式来构建性能测试场景,也可以选择自动的面向目标的方式去构建性能测试场景,通过创建并指定脚本、负载生成器和每个组中包括的Vuser数,可以生成手动方案。在面向目标的方案中,您可以定义您希望实现的测试目标, LoadRunner 将根据定义的目标自动为您创建一个方案。本文我们来详细了解一下LoadRunner的这两种场景构建方式。
一、LoadRunner 手动场景
通过选择要运行的脚本、分配运行脚本的 Load Generator 并分发在脚本间运行的 Vuser 来创建手动场景。
您可以用以下某种模式设计手动场景:
按数字模式。在此模式下,会将为场景选择的每个脚本分配给 Vuser 组。为创建的每个 Vuser 组分配若干 Vuser。您可以指示组中的所有 Vuser 在同一个 Load Generator 上运行同一个脚本,也可以为组中的各个 Vuser 分配不同的脚本和 Load Generator。
按百分比模式。在此模式下,定义场景中使用的 Vuser 总数,并为每个脚本分配 Load Generator 以及 Vuser 总数的百分比。
定义要在场景中运行的 Vuser 组或脚本之后,选择或创建运行场景的计划。
您还可以创建服务水平协议 (SLA),即为负载测试场景定义的具体目标。运行场景时,LoadRunner Professional 收集并存储与性能相关的数据。分析运行情况时,Analysis 将这些数据与 SLA 进行比较,并为预先定义的测量指标确定 SLA 状态。
更改场景模式
您可以将场景从 Vuser 组模式转换到百分比模式,也可以进行相反的转换。
当从一种模式转换至另外一种模式时场景的行为:
由 Vuser 组模式到百分比模式
如果 Vuser 组包含多个脚本,在百分比模式下这些脚本将逐个列在“场景脚本”窗格中。
在百分比模式下,默认将所有 Load Generator 分配给所有 Vuser 脚本。如果将多个 Load Generator 分配给一个 Vuser 组,则在百分比模式下分配给脚本的 Vuser 将在最初分配给该组的 Load Generator 之间均匀分配。
如果为 Vuser 组定义组计划,这些设置将丢失。所有配置文件仅包含“按场景”计划设置。
由百分比模式到 Vuser 组模式
将每个脚本转换为一个 Vuser 组。
如果为 Vuser 脚本定义了多个 Load Generator,转换场景时创建的 Vuser 组也包含多个 Load Generator。
如果为场景定义计划,则所有计划设置将保持不变。
二、LoadRunner 面向目标的场景的目标类型
在面向目标的场景中,定义希望测试实现的目标,然后 LoadRunner Professional 会根据这些目标自动构建场景。
虚拟用户数
此目标测试您的应用程序是否可以同时运行指定数量的 Vuser。运行这种面向目标的场景与运行手动场景类似。
每分钟页数/每秒点击数/每秒事务数
这些目标测试服务器的承载能力。为这些目标类型中的每一种类型指定场景要运行的 Vuser 数范围,如果是“每秒事务数”目标类型,还要指定事务的名称。注:“每分钟页数”和“每秒点击数”目标仅限 Web Vuser。
每秒点击次数与每秒 HTTP 请求数有关。
当定义这些目标类型之一时,Controller 将定义的目标按照指定的最小 Vuser 数进行划分,并确定每个 Vuser 应达到的“每秒点击数”、“每秒事务数”或“每分钟页数”的目标值。
然后,Controller 根据您定义的加载行为设置开始加载 Vuser,如下所示:
如果您选择自动运行 Vuser,那么 LoadRunner Professional 将在第一批加载 50 个 Vuser。如果定义的最大 Vuser 数小于 50,LoadRunner Professional 将同时加载所有 Vuser。
如果选择在场景经过一段时间后达到目标,LoadRunner Professional 会尽量在这段时间内达到定义的目标。它根据您定义的时间限制以及计算出的每个 Vuser 目标点击次数、事务数或页数,确定第一批 Vuser 的数目。
如果选择以渐进方式达到目标(每 x 时间 x 页/次点击),LoadRunner Professional 将计算每个 Vuser 的目标点击次数或页数,并据此确定第一批 Vuser 的数目(与“每秒事务数”目标类型无关)。
运行每批 Vuser 后,LoadRunner Professional 会评估这一批的目标是否达到。如果这一批的目标未达到,LoadRunner Professional 将重新计算每个 Vuser 的点击次数、事务数或页数,并重新调整 Vuser 数以使下一批能够达到定义的目标。默认情况下,每两分钟将释放一批新的 Vuser。
如果 Controller 启动了最大数目的 Vuser 后仍未达到目标,LoadRunner Professional 会通过重新计算每个 Vuser 的目标点击次数、事务数或页数并同时运行最大数目的 Vuser 来再次尝试达到定义的目标。
如果出现以下情况,会将面向每分钟页数目标的场景或面向每秒点击次数/每秒事务数目标的场景状态指定为失败:
Controller 两次使用指定的最大 Vuser 数均未达到目标。
第一批 Vuser 运行后,未注册每分钟页数或每秒点击次数/事务数。
Controller 运行几批 Vuser 后,每分钟页数或每秒点击数/事务数未增加。
运行的所有 Vuser 都失败。
对于您尝试运行的 Vuser 类型,没有可用的 Load Generator。
事务响应时间
此目标测试在不超过预期的事务响应时间的情况下可以同时运行多少个 Vuser。在脚本中指定要测试的事务的名称,以及 LoadRunner Professional 要运行的 Vuser 数范围。您指定的事务响应时间应是预定义的阈值。
例如,如果希望客户能在 5 秒内登录到您的电子商务网站,请将可接受的最大事务响应时间指定为 5 秒。将最小 Vuser 的数和最大 Vuser 数设置为您希望能够同时支持的客户数范围。
如果场景未达到您定义的最大事务响应时间,表示服务器能够在合理的时间内对您希望能够同时支持的客户数做出响应。如果仅执行了一部分 Vuser 就达到了定义的响应时间,或者您收到的消息表明当 Controller 使用定义的最大 Vuser 数时将超过定义的响应时间,那么您就应该考虑更新应用程序和/或升级服务器软件和硬件。
注:要达到“每秒事务数”或“事务响应时间”目标,脚本必须包含事务。对于这些目标类型中的每一种,请在脚本中定义要测试的事务。
为了使面向事务响应时间目标的场景得到有效结果,必须仔细选择事务,确保它向服务器提交有效的点击。
以上就是我们为您介绍的LoadRunner 手动场景和面向目标的场景的相关内容,希望对您有所帮助,更多LoadRunner 相关内容可查看我的主页。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.