在上一课中,您已经使用 VuGen 验证了自己的 Vuser 脚本。在这一课,您将评估多个 Vuser 负载下的系统。您将模拟 10 家旅行社同时使用机票预订系统的操作,并观察系统在这些用户负载下的运行情况。要设计并运行此测试,需要使用 LoadRunner Controller。
场景目标
这一课的目标是创建一个场景,模拟 10 家旅行社同时登录、搜索航班、购买机票、查看航班路线并退出。
在这一课,您将学习以下内容:
负载测试是指在典型工作条件下测试系统。例如,您可以在多家旅行社同时在同一个机票预订系统中预订机票时测试系统。
您需要设计测试来模拟真实情况。为此,您要能够在应用程序上生成负载,并安排向系统施加负载的时间(因为用户不会正好同时登录或退出系统)。您还需要模拟不同类型的用户活动和行为。例如,某些用户可能会使用 Firefox 访问系统,而其他用户使用 Internet Explorer。用户还可能会使用不同的网络连接访问系统,例如调制解调器、DSL 或电缆。您可以在场景中创建并保存这些设置。
Controller 提供所有用于创建和运行测试的工具,帮助您准确模拟工作环境。
要开始开发场景,请打开 LoadRunner Controller。
打开 HP LoadRunner Controller。
选择开始 > 所有程序 > HP Software > HP LoadRunner > Controller,或单击桌面上的 Controller 快捷方式图标。
HP LoadRunner Controller 将打开并显示“新建场景”对话框。
选择场景类型。
有两种场景类型:
通过手动场景可以控制正在运行的 Vuser 数目及其运行时间,另外还可以测试出应用程序可以同时运行的 Vuser 数目。您可以使用“百分比模式”,根据业务分析员指定的百分比在脚本间分配所有的 Vuser。安装后首次启动 LoadRunner 时,默认选中“百分比模式”复选框。如果已选中该复选框,请取消选中。
面向目标的场景用来确定系统是否可以达到特定的目标。例如,您可以根据指定的事务响应时间或每秒点击数/事务数确定目标,然后 LoadRunner 会根据这些目标自动创建场景。
向负载测试添加 Vuser 脚本。
在本教程中,将仅使用一个 Vuser 脚本来模拟一组执行相同操作的用户。为了更精确地模拟具有更多种用户配置文件的真实场景,需要创建多个不同的 Vuser 组,各个组运行具有不同用户设置的多个脚本。
先前在 VuGen 中录制的脚本包含要测试的业务流程。其中包括登录、搜索航班、购买机票、查看航班路线以及注销。您将向场景中添加类似的脚本,配置场景,模拟 8 家旅行社同时在机票预订系统中执行这些操作。测试期间将添加另外两个 Vuser。
为此我们提供了一个与您创建的脚本相类似的示例脚本。建议您使用这个示例脚本。
备注: “设计”选项卡的控件位于 Controller 的左下角。
Controller 的设计选项卡是用于设计负载测试的主界面。设计选项卡分为三个窗格:
您可以通过以下操作修改脚本详细信息:
确保 basic_script 出现在场景组窗格的组名列中。
更改组名。
向场景添加 Vuser 脚本后,可以配置 Load Generator(在系统上生成负载的计算机)。
在这一节,您将学习如何向场景添加 Load Generator,以及如何测试 Load Generator 连接。
添加 Load Generator。
单击 Controller 工具栏上的 Load Generator 按钮 。Load Generator 对话框打开。
通过“Load Generator”对话框,可以查看和配置在场景中定义的 Load Generator。“Load Generator”对话框显示名为 localhost 的 Load Generator 的详细信息。localhost Load Generator 的状态为关闭。这说明 Controller 未连接到 localhost Load Generator。
在本教程中,您将使用本地计算机作为 Load Generator。
备注: 在典型的运行系统中,您将有若干个 Load Generator,每一个托管多个 Vuser。
测试 Load Generator 连接。
运行场景时,Controller 自动连接到 Load Generator。但您也可以在运行场景之前测试连接。
在“Load Generator”对话框中,选择 localhost,然后单击连接。
Controller 会尝试连接到 Load Generator 计算机。建立连接后,Load Generator 的状态会从关闭变为就绪。
添加 Load Generator 后,就可以配置加压方式。
典型用户不会正好同时登录和退出系统。LoadRunner 允许用户逐渐登录和退出系统。它还允许您确定场景持续时间和场景终止方式。下面将要配置的场景相对比较简单。但在设计更准确地反映现实情况的场景时,您可以定义更真实的 Vuser 活动。
您可以在 Controller 的场景计划窗格中为手动场景配置加载行为。“场景计划”窗格分为三部分:计划定义区域、操作单元格和交互计划图。
现在您可以更改默认负载设置并配置场景计划。
设置计划操作定义。
您可以在全局计划网格或交互计划图中为场景计划设置启动 Vuser、持续时间以及停止 Vuser 操作。在图中设置定义后,全局计划网格中的属性会相应调整。
现在您可以设置定义,以便使全局计划网格显示如下。
设置 Vuser 初始化。
初始化是指通过运行脚本中的 vuser_init 操作,为负载测试准备 Vuser 和 Load Generator。根据系统配置,在 Vuser 开始运行之前进行初始化可以提供更加真实的结果。
对 Vuser 指定逐渐开始
通过按照一定的间隔启动 Vuser,可以让 Vuser 对应用程序施加的负载在测试过程中逐渐增加,帮助您准确找出系统响应时间开始变长的转折点。
计划持续时间。
您可以指定持续时间,确保 Vuser 在特定的时间段内持续执行计划的操作,以便评测服务器上的持续负载。如果设置了持续时间,脚本会运行这段时间内所需的迭代次数,而不考虑脚本的运行时设置中所设置的迭代次数。
在交互计划图中,单击代表持续时间的水平线。这条水平线会突出显示并且在端点处显示点和菱形。
计划逐渐关闭。
建议逐渐停止 Vuser,以帮助在应用程序到达阈值后,检测内存漏洞并检查系统恢复情况。
现在已配置好负载计划,接下来需要指定 Vuser 在测试期间的行为方式。
模拟真实用户时,需要考虑用户的实际行为。行为是指用户在操作之间暂停的时间、用户重复同一操作的次数,等等。
在这一节,您将进一步了解 LoadRunner 的运行时设置,并启用思考时间和日志记录。
单击“场景组”工具栏上的运行时设置按钮 。这时将打开“运行时设置”对话框。
通过运行时设置,可以模拟各种用户活动和行为。其中包括:
运行逻辑。Vuser 重复一系列操作的次数。
步。重复操作之前等待的时间。
日志。希望在测试期间收集的信息的级别。如果是首次运行场景,建议生成日志消息,确保万一首次运行失败时有调试信息。
思考时间。用户在各步骤之间停下来思考的时间。由于用户是根据其经验水平和目标与应用程序交互,因此,技术上更加精通的用户工作速度可能会比新用户快。通过启用思考时间,可使 Vuser 在负载测试期间更准确地模拟对应的真实用户。
速度模拟。使用不同网络连接(例如调制解调器、DSL 和电缆)的用户。
浏览器模拟。使用不同浏览器查看应用程序性能的用户。
内容检查。用于自动检测用户定义的错误。
假设发生错误时应用程序发送了一个自定义页面。该自定义页面总是包含文字“ASP 错误”。您需要搜索服务器返回的所有页面,并查看是否出现文本“ASP 错误”。
您可以使用内容检查运行时设置,设置 LoadRunner 在测试运行期间自动查找这些文字。LoadRunner 将搜索这些文字并在检测到时生成错误。在场景运行期间,您可以识别内容检查错误。
现在已经定义了 Vuser 在测试期间的行为方式,接下来就可以设置监控器了。
在应用程序上生成负载时,您希望实时了解应用程序的执行情况以及潜在的瓶颈。使用 LoadRunner 的一套集成监控器可以评测负载测试期间系统每一层的性能以及服务器和组件的性能。LoadRunner 包含多种后端系统主要组件(如 Web、应用程序、数据库和 ERP/CRM 服务器)的监控器。
例如,您可以根据正在运行的 Web 服务器类型选择 Web 服务器资源监控器。还可以为相关的监控器购买许可证,例如 IIS,然后使用该监控器精确指出 IIS 资源中反映的问题。
在这一节,您将学习如何添加和配置 Windows 资源监控器。您可以使用该监控器确定负载对 CPU、磁盘和内存资源的影响。
激活监控器。
单击“Windows 资源”对话框中的确定以关闭对话框并激活监控器。
现在您已经设计了负载测试场景,接下来可以学习第 6 课:运行负载测试。
|