Loadrunner 控制器教程:手动和目标导向场景

⚡ 智能摘要

LoadRunner 中的 Controller 将完成的 VuGen 脚本转换为正在运行的负载测试:它组装 VUser 组,将它们分布到负载生成器上,安排负载递增,并在场景执行时实时传输结果。

  • 🔘 定位: 控制器运行测试设计,覆盖运行时设置、思考时间和会合点。
  • ☑️ 手动操作场景: 您可以自行设置交易、虚拟用户数量和持续时间。
  • 目标导向型场景: 控制器会不断调整虚拟用户数量,直到达到您的点击次数或响应时间目标。
  • 🧪 负载生成器: 添加机器,或使用本地主机,并限制每台机器初始化的虚拟用户数量。
  • 🛠️ 调度: 按场景或分组进行调度,可在真实运行模式或基本运行模式下进行调度。
  • 📊 SLA: 附加服务级别协议,以便根据协议评估运行情况。trac阈值。

LoadRunner Controller 手册和目标导向场景

什么是控制器?

控制器,顾名思义,是一个用于“控制”整体负载测试的程序。它负责帮助……ping 您可以使用已创建的 VuGen 脚本运行性能测试设计。它允许您覆盖运行时设置、启用或禁用思考时间、设置汇合点、添加负载生成器并控制每个生成器可以模拟的用户数量。它会自动生成执行结果转储,并实时显示负载测试的运行“当前状态”。

让我们来详细了解一下 LoadRunner 控制器。

品牌注解: 以下屏幕截图来自惠普时代的版本,该产品后来被Micro Focus收购,现在以以下品牌销售: OpenText 专业性能工程控制器、VuGen、负载生成器和分析工具的名称和工作流程保持不变,因此这里的每个步骤仍然适用。

如何启动控制器

要启动 Controller,请转到“开始”菜单 ->“HP 软件” ->“HP LoadRunner” ->“Controller”,如下图所示:

Windows 用于启动 LoadRunner 控制器的开始菜单路径

启动后,您将看到瞬间出现的启动画面。下面显示了一个快照:

程序加载时显示 LoadRunner Controller 启动画面。

截图会自动跳转到控制器的主窗口。在讨论屏幕的主要组成部分之前,我们先来看一下主窗口。

LoadRunner 控制器主设计窗口

如果“新场景”屏幕没有自动出现(在您更改首选项后),您可以单击文件菜单下的新建按钮,或单击 控制器工具栏上的“新建场景”按钮 按钮。或者,您也可以单击 Ctrl + N。菜单已显示如下,以供参考。

控制器文件菜单显示“新建场景”命令

类似地,要打开现有或之前创建的场景,您可以使用 Ctrl + O 或 在控制器工具栏上打开场景图标 点击图标,即可打开一个标准对话框浏览文件。LoadRunner 场景文件的扩展名为 *.lrs

Controller 中有两种类型的场景。

  • 手动场景
  • 目标导向场景

手动场景可以进一步或可能不具有百分比模式。我们将详细讨论每一个。

模拟手动场景

手动配置方案是静态的,可以更好地控制局面。您可以决定执行哪个事务、执行多少次以及持续多长时间。

根据测试组合的组成,您可以看到应用程序行为,例如点击次数、响应时间等。

稍后您将了解手动场景与目标导向场景有何不同。

为了创建手动场景,请从“选择场景类型”中选择手动场景

现在,让我们首先使用非百分比模式。请看下面的快照:

新建场景对话框,已选择手动场景

您可以直接从上面的屏幕中选择要添加到场景中的脚本。但是,通常的做法是稍后添加脚本。

单击“确定”按钮继续。

这将创建一个空白场景并将其加载到主屏幕。您会注意到“保存”按钮现在已启用。请查看下面的快照:

控制器设计选项卡中已加载空白手册场景

同样,如果您在选择场景类型时选择了百分比模式,屏幕会略有不同。它将显示用户百分比分布,而不是用户数量。控制器会自动按指定百分比分配用户。

其余部分相同。请参阅下面的快照:

手动场景以百分比模式显示用户分布

如果您一开始没有创建场景,您将看到如下工具栏:

在创建任何场景之前,控制器工具栏会显示如下状态。

你可以点击 控制器工具栏上的“新建空白场景”按钮 按钮创建一个新的空白场景。创建场景后,您可以点击 控制器工具栏上的“保存场景”按钮 按钮保存场景或按 Ctrl + S。同样,您可以点击 控制器工具栏上的“打开现有场景”按钮 按钮从本地计算机驱动器打开已经存在的场景。

剩下的按钮只是调用 LoadRunner 的其他组件。 工具栏按钮,用于调用 VuGen 按钮会调用 VuGen 和 工具栏按钮,用于调用 LoadRunner 分析 按钮会启动 LoadRunner 分析。

添加虚拟用户脚本或组后,您会注意到主题工具栏将显示额外的图标。新的工具栏如下所示:

添加虚拟用户组后,将显示扩展控制器工具栏。

新的工具栏有 2 个附加控件。

载荷 Generator扩展控制器工具栏上的 s 按钮 按钮打开所有加载列表 Generators。在我们的例子中,我们使用“localhost”作为生成器。这意味着您的本地计算机将被 Controller 使用,以及 Generator 模拟虚拟用户负载。网络虚拟化设置可通过点击 控制器工具栏上的网络虚拟化设置图标 图标。网络虚拟化要求您的机器上安装 Shunra NV for HP 软件 8.6 版或更高版本。此集成通过虚拟化负载和性能测试环境中的生产网络条件来提高测试准确性。要将 Shunra NV for HP 软件整合到您的测试环境中,请联系您的 HP 服务代表。

版本说明: 惠普于 2014 年收购了 Shunra,该功能现在作为供应商自己的网络虚拟化组件提供,因此当前的安装不再需要单独的 Shunra 产品。

现在您已经创建了一个新的空白 LoadRunner 场景,请记下它自带的默认配置:

安排人: EventXtra XNUMX大解决方案

运行模式: 真实世界时间表

由于虚拟用户脚本将由一组虚拟用户运行,因此它也被称为“组”。“组名称”列将显示添加后的虚拟用户脚本的名称。让我们将虚拟用户脚本添加到此场景中。

当场景完全创建后,您将在场景组下看到以下工具栏:

控制器设计选项卡中的“场景组”工具栏

您可以点击 在“场景组”工具栏中添加虚拟用户组图标 工具栏中的图标添加 VUser 组。

当您单击“组名”列下的单元格时,它将打开一个小框,即 “组名称”单元格展开为脚本选择框 – 在这里您可以看到最近的 VUser 脚本的快速列表以及浏览按钮。请参阅下面的屏幕截图。

最近的虚拟用户脚本列在“浏览”按钮旁边

您可以从列表中选择,也可以简单地从所需目录中浏览。如果您单击浏览按钮,它会打开一个类似于 MS 通用对话框的对话框。请参阅下面的快照:

文件浏览器对话框用于选择虚拟用户脚本

如您所见,您可以浏览虚拟用户脚本、图形用户界面脚本或 QTP 这里是脚本。请记住,GUI 或 QTP 脚本只能实例化单个用户,不能用于“负载模拟”。你能解释一下为什么吗? QTP 脚本在负载场景中可用吗?

正确答案是: QTP 可以将脚本添加到加载场景中以进行演示。trac信息:

由于 LoadRunner 脚本基于请求和响应机制运行,因此这不包括 UI 和数据渲染的持续时间。 QTP 脚本将提供一个负载下真实用户体验的示例。当然, QTP 脚本需要通过描述性编程来实现所有交易。

如果右键单击左侧的灰色区域,您将看到一个小菜单,如下面的屏幕截图所示:

右键菜单显示“添加组”命令

您可以点击添加组来浏览您的 VUser 脚本。

要删除群组,请点击 在“场景组”工具栏中移除“虚拟用户组”按钮 工具栏中的按钮或右键单击组并选择删除组——如下所示:

右键菜单显示“删除组”命令

提示: 您也可以点击 场景组工具栏中的“运行时设置”按钮 按钮可查看特定于所选组的运行时设置。您可以选择多个组(按住 Ctrl 键并单击)以一次将运行时设置应用于所选组。

在工具栏中,您可以单击“详细信息”按钮 [ 场景组工具栏中的“详细信息”按钮 ] 查看与 VUser 组相关的所有详细信息。

为 VUser 组打开了组信息面板

如果单击“更多”,它将显示一个带有 3 个选项卡的面板。第一个选项卡“Rendezvous”将默认打开:

群组详情面板的“集合”选项卡

您也可以在“虚拟用户”选项卡中查看虚拟用户列表。如果您已为虚拟用户分配了 ID,则会在此处看到它们。

“虚拟用户”选项卡列出了分配给该组的虚拟用户

您还可以查看脚本文件夹中所有文件的列表。这样就无需导航到最终目录,并且只显示相关文件。

“文件”选项卡列出了脚本文件夹的内容

我们将单独研究如何安排一个小组。

场景准备就绪后,您可以点击 “开始场景”按钮用于开始执行 按钮开始执行您的场景。单击播放按钮后,您会注意到控制器从“设计”选项卡切换到“运行”选项卡。

控制器设计视图还允许您在运行场景时查看脚本。这在遇到错误时非常有用。但是,您对脚本所做的任何更改都不会反映在正在运行的场景中。即使场景没有运行,您也需要查看详细信息并单击“刷新”按钮才能使更改生效。

您可以通过点击直接在 Controller 中查看脚本 控制器工具栏中的“查看脚本”按钮 按钮。

同样,您可以通过点击 打开正在运行的虚拟用户列表的虚拟用户按钮 按钮。

配置完成后,您可以点击 在“设计”选项卡上点击“开始场景播放”按钮 按钮或进入“运行”选项卡并点击 “运行”选项卡上的“开始场景”按钮 按钮。

在场景开始执行时,Controller 会隐式创建一个临时目录来转储结果。如果该目录已经存在,则会收到提示:

提示警告:结果目录已存在

如果选择“是”,之前的转储将丢失。如果选择“否”,您将看到下面的窗口。如果愿意,您可以选择为每个结果创建一个新目录。但是,请考虑在那之后不久空间不足的情况。

用于为每次运行创建新结果目录的对话框

只要您点击“确定”,您的方案就会开始运行。您将看到用户从“待处理”列移至“初始化”列,依此类推。

示例执行如下:

在执行场景期间,控制器运行选项卡

您可以点击“已传递的交易”以打开一个新窗口。在这里,您可以检查您在整个脚本中应用的交易的状态。

同样,您可以单击左侧的任意图表名称来打开任意图表。

在窗口底部,您可以看到哪些交易正在通过,迄今为止任何用户所花费的最短时间、最长时间、平均时间和标准差。

您可以选择并排整理结果或仅在场景结束后整理结果。要切换,请单击结果菜单,您将看到以下菜单。

结果菜单中包含“整理结果”选项

如果您希望启用排序功能,您可以保持选中状态。

模拟以目标为导向的场景

面向目标的场景本质上是动态的 - 这意味着,它会不断改变服务器上模拟的总体负载。您可以设置一个目标,例如,您希望目标服务器实现的最大点击次数、事务的最大响应时间等。

基于上述数值,您可以进行一些分析,例如在可接受的响应时间内,您的应用程序支持的最大用户数。同样,您也可以计算出在服务器访问量达到 X 次之前,应用程序能够支持的最大连接用户数。

在这种情况下,控制器会自动改变服务器的用户数量,因此,您几乎无法控制用户运行的次数或持续时间。

单击新建以创建新场景并选择面向目标的场景。

将出现以下屏幕:

目标导向场景已加载到控制器设计选项卡中

添加 VUser 组的过程与手动场景完全相同。

目标导向场景的关键区别在于,顾名思义,你需要设定一个目标。控制器随后会自动调整虚拟用户数量,直到达到该目标为止。

虽然大部分界面与手动场景非常相似,但某些屏幕的显示方式有所不同,尽管它们执行的操作相同。例如,要添加虚拟用户组或虚拟用户脚本,请单击 在目标导向场景视图中添加脚本按钮 按钮。这将打开以下窗口:

添加“脚本”对话框,列出最近使用的脚本,以及一个“录制”按钮。

在这里,您可以选择最近的脚本,浏览脚本,或者点击“录制”按钮创建新脚本。

单击“确定”关闭窗口。

根据需要,您可以点击 目标导向场景视图中的“详细信息”按钮 按钮查看所选组/VUser 脚本的详细信息。

点击 删除按钮用于删除选定的虚拟用户组 按钮将从当前场景中删除所选的 VUser 组。仅当您保存后,更改才会被保存。

点击 目标导向场景视图中的运行时设置按钮 此按钮将打开运行时设置,正如我们在 VuGen 中学习的那样。但是,如果您在此处覆盖(或修改)运行时设置,则更改仅对当前场景有效。如果您删除脚本并重新加载,或点击刷新(在详细信息视图中),则所做的任何更改都将丢失。这将重新加载创建脚本时保存的运行时设置。

您也可以点击 “查看”按钮,用于在 VuGen 中打开选定的 VUser 组。 按下此按钮可在 VuGen 中打开选定的 VUser 组。

如果您希望配置负载 Generators(我们的下一个主题),您可以点击 Generators 按钮打开加载 Generator的清单 按钮。

下表汇总了之前提到的两种情景类型之间的差异。

方面 手动场景 目标导向场景
谁决定负荷 你确实如此,VUser 逐个 VUser 控制器会这样做,以达到你的目标
自然 一旦设计完成,便不再具有静态特性。 动态的,在运行过程中会变化
您定义 交易次数、虚拟用户数、持续时间 目标,例如每秒点击次数或响应时间
额外模式 百分比模式按份额分配虚拟用户 无百分比模式
最适合 重现已知的测试混合物 找到目标能够承受的负荷

面向目标的场景的执行与手动场景相同。

配置负载 Generators

有两种方式配置负载 Generators.

单击“添加组”(添加虚拟用户脚本)后,您将看到以下窗口:

添加承载负载的组窗口 Generator 名称栏位

您可以点击与加载相对应的添加 Generator 命名并浏览您的负载 Generator或者,您也可以直接输入“localhost”,然后开始使用您的控制器机器作为负载。 Generator.

如果您点击“添加...”,您将看到以下窗口:

添加负载 Generator 与名称和平台字段进行对话

您可以点击更多查看与加载相关的更多设置 Generator. 通过不同的标签来建立更多的理解:

负载生成器运行时配额选项卡限制一次性初始化的用户数量

以上是对 Run-Time Settings 的配置。可以看到,一次最多可以初始化 50 个用户。

以下是 VUser Limit 的配置。

负载生成器 VUser 限制选项卡

如果您希望恢复默认设置并放弃所做的任何更改,请单击“默认值”。单击“确定”按钮保存更改并关闭窗口。

添加和配置 Load 的另一种方法 Generator方法是点击 EventXtra XNUMX大解决方案 菜单并单击 载荷 Generators.

场景菜单包含加载 Generators 命令

这将导致主窗口 Generators. 在这里您可以看到所有负载的状态 Generators. 该名称指的是……的名称 Generator。状态是当前状态,无论发电机是否已准备好使用。平台会告诉 Opera发电机系统,可 Windows or Unix的 仅。类型表明它是本地生成器还是基于云的生成器。请看下面的快照:

载荷 Generator窗口列表名称、状态、平台和类型

平台说明: 这个 Windows-or-Unix 措辞反映了此处所示的版本。当前的 LoadRunner 版本也会在 Linux 发行版(例如)上安装负载生成器。 Ubuntu 服务器 22.04 LTS 和 RHEL 9。

要添加另一个生成器,您需要单击“添加”按钮。单击“添加”后,您将看到与上面讨论过的相同的屏幕。

一旦生成器配置完毕,请单击“关闭”按钮关闭屏幕。

安排小组

在运行场景之前,您需要配置计划。您可以按场景或按组进行计划。这两种方式又可以进一步细分为实际运行计划和基本运行计划,称为运行模式。

如果您按场景安排并创建真实世界计划,您将看到在全局计划区域中出现以下选项:

全球日程安排区域,适用于场景级别的真实世界日程安排

但是,如果您安排一个场景并创建一个基本计划,您将看到下面的窗口。您能发现不同吗?

场景级别基本进度计划的全局进度区域

您还可以按组安排。这会将配置应用于组级别。这可以进一步分为真实世界和基本运行模式。

小组层面的实际日程安排选项

同样,您可以将运行模式更改为基本计划。使用您的测试设计技能来找出两者之间的差异。以下是参考:

团体级别基本日程安排选项

您是否注意到场景计划工具栏中出现了一个新图标?

以下是供您参考: 场景日程工具栏显示额外的会合图标

仅在组配置的情况下才会出现集合图标。

制定服务级别协议 (SLA)

您可能已与客户签订了服务级别协议 (SLA)。LoadRunner 或 Controller 中的 SLA 使您有机会根据 SLA 测试您的应用程序。请记住,常规(非 SLA)场景允许您运行各种类型的场景,以便查找问题及其根本原因;而您的客户可能只想在 SLA 的约束下测试您的应用程序,以查看其是否按约定运行。trac是或否。

从控制器的主设计视图中,找到 SLA 工具栏;它位于右上角,如下所示:

控制器设计视图右上角的 SLA 工具栏

点击 SLA 工具栏上的新 SLA 按钮 按钮并会打开以下窗口:

服务级别协议向导的第一页

点击 “下一步”按钮用于离开第一个 SLA 向导页面。 按钮。

注意新窗口。在这里您可以选择 SLA 的测量值。在我们的示例中,我们采用事务响应时间。请看一看:

SLA向导页面,用于选择测量

点击 “下一步”按钮用于进入交易选择页面。 按钮。

在下一个窗口中,您可以选择将应用上述测量的交易。我们仅使用主要交易,即 01_Signup

这将有助于删除打开主页和其他不太重要的交易。

看一下窗口:

SLA向导页面,用于选择涵盖的交易。

点击 用于跳转到阈值页面的“下一步”按钮 按钮。

在新窗口中,您可以选择阈值的百分位数。如果您选择了多个交易,您可以点击 “应用于全部”按钮,用于设置百分位阈值 按钮。查看下面的窗口:

SLA 向导页面,用于设置百分位阈值

点击 “下一步”按钮用于跳转到向导的最后一个页面。 按钮。

下一个屏幕是一个简单的闭包。单击 关闭 SLA 向导的“完成”按钮 按钮关闭 SLA。

SLA向导的关闭页面

点击后 点击“完成”按钮确认服务级别协议 (SLA) 已完成。,您将看到控制器的主设计窗口,其中显示 SLA。看一下:

控制器设计窗口显示已配置的 SLA

您可以点击 点击“详细信息”按钮,即可打开 SLA 定义。 按钮查看 SLA 详细信息。将打开以下窗口:

SLA 详情窗口列出了测量值和阈值

点击 SLA 详情窗口的关闭按钮 按钮关闭上述窗口。

如果您希望删除现有的 SLA,可以点击 删除按钮用于移除现有的服务级别协议 (SLA)。 按钮。点击后,您将看到以下确认消息:

删除 SLA 前显示的确认消息

如果你点击 高级按钮,用于打开 SLA trac国王期权 按钮后,您将看到 SLA 的高级选项。

建议您使用默认选项,即内部计算。 Tracking 就此打住。请看截图:

具有内部计算功能的高级 SLA 选项 Tracking 选定的时间段

如果你使用内部计算 Tracking 周期分析自动设置 trac确定 SLA 状态的关键周期。此选项的最低要求 trac国王周期设置为 5 秒。

另一方面,你选择 Tracking 将周期设置为所需的秒数。只需选择下一个单选按钮即可。

在执行基于 SLA 的场景时,执行过程完全相同。

控制器上的视频

以下演示涵盖了相同的控制器屏幕在动态中的显示。

点击 开始 如果视频无法访问

控制器位于中间 LoadRunner架构脚本从 VuGen 到达后 相关参数化以及结果转储信息 LoadRunner 分析。 阅读 性能测试负载测试 为了更广泛的进程。

常见问题

基本调度程序会逐步启动每个虚拟用户,运行一段设定的时间,然后逐步停止一次。而实际应用调度程序则会将多个操作串联起来——启动、运行、添加或停止虚拟用户,再次运行——从而使负载像真实交通一样波动。

这取决于协议和机器内存,而不是一个固定的数字。生成器的 VUser Limit 和 Run-Time Quota 设置明确地限制了它,这里显示的配额最多一次初始化 50 个 VUser。

是的。机器学习可以建立运行基线,标记偏离正常范围的事务,并将响应时间峰值与资源图关联起来,从而缩短长时间运行后查找瓶颈的时间。

GitHub 副驾驶 在脚本编写方面,Copilot 非常有用,它可以用于编写 VuGen 函数和处理参数。控制器中的场景设计是一个 GUI 任务,因此 Copilot 的作用是在场景设计之前,而不是在场景设计内部。

汇合点会将到达的虚拟用户聚集起来,直到达到预设数量,然后一起释放他们。利用汇合点可以强制单个事务真正并发,例如同时进行登录或结账操作。

是的。旁边 Windows当前版本会在包括以下在内的 Linux 发行版上安装负载生成器 Ubuntu 服务器 22.04 LTS 和 RHEL 9,这是生成器在云实例上运行时的常用选择。

在专业版中,Controller 是桌面场景运行器。企业版则用一个共享的、基于 Web 的实验室取代了它,该实验室可以跨团队排队执行测试,而云版本则为您托管测试生成器。

控制器会在运行过程中实时显示计数器,并将原始结果写入日志。分析模块随后会打开该日志,生成图表、关联分析和 SLA 报告,供您提交给利益相关者。

总结一下这篇文章: