LoadRunner 教程 > 第 7 课:分析场景

第 7 课:分析场景

在前面的课程中,您已学习了如何设计场景、执行场景以及如何控制场景的执行。在服务器上施加负载后,需要分析运行情况,并确定需要解决哪些问题来提高系统性能。

在 Analysis 会话过程中生成的图和报告提供了有关场景性能的重要信息。使用这些图和报告,可以找出并确定应用程序的性能瓶颈,同时确定需要对系统进行哪些改进以提高其性能。

在这一课,您将学习以下内容:

Analysis 会话如何工作?

Analysis 会话的目的是查找系统的性能问题,然后找出这些问题的根源,例如:

在下文中,您将学习如何打开 LoadRunner Analysis 以及生成和查看图和报告,这将有助于您发现性能问题并查明问题的根源。

如何启动 Analysis 会话?

  1. 打开 HP LoadRunner Analysis。

    选择开始 > 所有程序 > HP Software > HP LoadRunner > Analysis,或双击桌面上的 Analysis 图标。这时将打开 HP LoadRunner Analysis。

  2. 打开 Analysis 会话文件。

    为了配合本教程中的这一部分,说明更多不同的结果,我们运行了一个与您在前面课程中所运行的场景相似的场景。但是这次场景使用了 70 个 Vuser,而不是 10 个。现在您可以打开使用此场景的结果所创建的 Analysis 会话。

    1. 在 Analysis 窗口中选择文件 > 打开。此时将打开“打开 Analysis 会话”对话框。

    2. <LoadRunner 安装>\tutorial 文件夹选择 analysis_session 并单击打开。Analysis 将打开会话文件。

Analysis 窗口一览

Analysis 包含下列主要窗格:

  1. 会话浏览器
  2. “属性”窗格
  3. “图查看”窗格
  4. “图例”窗格

  1. 会话浏览器。位于左上方的窗格,Analysis 在其中显示已经打开可供查看的报告和图。您可以在此处显示打开 Analysis 时未显示的新报告或图,或者删除自己不想再查看的报告或图。
  2. “属性”窗格。位于左下方的窗格,“属性”窗格显示您在会话浏览器中选择的图或报告的详细信息。黑色字段是可编辑字段。
  3. “图查看”窗格。位于右上方的窗格,Analysis 在其中显示图。默认情况下,打开会话时,摘要报告将显示在此区域。
  4. “图例”窗格。位于右下方的窗格,在此窗格内,您可以查看所选图中的数据。

备注: 存在可从工具栏进行访问的其他窗格。可以在屏幕上随意拖放这些窗格。

是否达到了我的目标?(服务水平协议)

在这一节,我们将介绍服务水平协议(或称 SLA)。

SLA 是您为负载测试场景定义的具体目标。Analysis 将这些目标与 LoadRunner 在运行过程中收集和存储的性能相关数据进行比较,然后确定目标的 SLA 状态(通过还是失败)。

例如,可以定义具体的目标或阈值,用于评测脚本中事务的平均事务时间。测试运行结束之后,LoadRunner 会将您定义的目标与实际录制的平均事务时间进行比较。Analysis 显示每个所定义 SLA 的状态(通过失败)。例如,如果实际的平均事务时间未超过您定义的阈值,SLA 状态将为通过

作为目标定义的一部分,您可以指示 SLA 将负载条件考虑在内。这意味着可接受的阈值将根据负载级别(例如,运行的 Vuser 数吞吐量等)而有所更改。随着负载的增加,您可以允许更大的阈值。

根据定义的目标,LoadRunner 将以下列某种方式来确定 SLA 状态:

可以在 Controller 中运行场景之前定义 SLA,也可以稍后在 Analysis 中定义 SLA。

在下一节中,您将使用 HP Web Tours 示例定义 SLA。假设 HP Web Tours 的管理员想要了解 book_flightsearch_flight 事务的平均事务时间何时会超过既定值。为此,请选择相应事务,然后设置阈值。这些阈值是可接受的平均事务时间最大值。

您还将设置这些阈值,将具体的负载条件考虑在内;在本例中为正在运行的 Vuser 数。换句话说就是,随着正在运行的 Vuser 数目的增加,阈值将增大。

这是因为,尽管 HP Web Tours 管理员希望平均事务时间尽可能短,但我们都知道每年的一些特定时候可以合理地假定 HP Web Tours 网站的负载比其他时候高。例如,在旅游旺季,会有更多的旅行社登录到网站来预订机票、查看航班路线,等等。在这种合理的重负载情况下,平均事务时间稍长也可以接受。

您将设置 SLA,将三种负载情况都考虑在内:轻负载、平均负载和重负载。每个场景将有各自的阈值。

如何定义 SLA?

运行场景后,将在 Analysis 中定义 SLA。

备注: 最好是在运行场景之前在 Controller 中定义 SLA。由于您没有分析前面课程中运行的测试场景,因此为了实现本教程的教学目的,将在 Analysis 中定义 SLA。要在 Controller 中定义 SLA,请在设计选项卡的服务水平协议部分单击新建

现在您将定义一个 SLA,该 SLA 将为示例会话文件中的 book_flightsearch_flight 事务设置平均事务时间的具体目标。

在运行过程中,将按设定的时间间隔评测平均事务时间。

要定义 SLA,请执行以下操作:

  1. 打开 SLA 向导。
    1. 在 LoadRunner Analysis 中,选择工具 > 配置 SLA 规则。“服务水平协议”对话框打开。

    2. 单击新建打开“服务水平协议”向导。

      请注意,初次打开“服务水平协议”向导时,将显示起始页。如果不希望在下次运行向导时显示该页面,请选中下次跳过该页面复选框。
    3. 单击下一步

  2. 为目标选择度量。
    1. 在“选择目标度量”页面中选择事务响应时间:平均

    2. 单击下一步
  3. 选择要监控的事务。

    在“选择事务”页面中,从可用事务列表选择要监控的事务。

    1. 双击 check_itinerary 事务将其移到选定事务列表中。

    2. 单击下一步
  4. 设置加载条件。

    在“设置加载条件”页面,可以指示 SLA 将不同的加载条件考虑在内。

    1. 加载条件下拉列表中选择正在运行的 Vuser 数
    2. 加载值设置为和以下示例类似:

      在以上屏幕中,您设置了 SLA 以定义以下三种潜在负载场景的可接受的平均事务时间:

      - 轻负载。有 0 至 19 个 Vuser

      - 平均负载。有 20 至 49 个 Vuser

      - 重负载。超过 50 个 Vuser

    3. 单击下一步
  5. 设置阈值。

    在“设置阈值”页面中,您将为 check_itinerary 事务定义可接受的平均事务时间。

    将阈值设置为和以下示例类似:

    您仅指示以下平均事务时间是可接受的:

    - 轻负载。5 秒以内

    - 平均负载。10 秒以内

    - 重负载。15 秒以内

  6. 保存 SLA。

    要保存 SLA 并关闭向导,可以在后续网页中依次单击 Next(前进)、Finish(完成)和 Close(关闭)。

    Analysis 将您的 SLA 设置应用于摘要报告。然后更新报告以包含所有相关的 SLA 信息。

如何查看性能摘要?

“摘要报告”选项卡显示关于场景运行情况的常规信息和统计信息,另外还提供所有相关的 SLA 信息。例如,按照所定义的 SLA,执行情况最差的事务是哪些,如何按照设定的时间间隔执行特定的事务以及整体 SLA 状态。可以从会话浏览器打开摘要报告。

  1. 场景的总体统计信息

    在“统计信息摘要表”部分,您可以看到这次测试最多运行了 70 个 Vuser。另外此处还显示了其他统计信息,例如总吞吐量/平均吞吐量以及总点击数/平均点击数。

  2. 执行情况最差的事务

    “5 个最差事务”表最多可显示五个定义了 SLA 且执行情况最差的事务。

    您可以看到在 check_itinerary 事务持续时间内,该时间超过了 SLA 阈值 66.4%。整个运行期间,它超出 SLA 阈值的平均百分比为 200.684%。

  3. 超出 SLA 阈值的时间间隔

    “随时间变化的场景行为”部分显示不同的时间间隔内各个事务的执行情况。绿色方块表示事务在 SLA 阈值范围内执行的时间间隔,红色方块表示事务失败的时间间隔,灰色方块表示尚未定义相关的 SLA。

    您可以看到对于为其定义 SLA 的事务,check_itinerary 的大部分时间间隔均超过了阈值。

  4. 事务的整体性能

    “事务摘要”列出每个事务的摘要情况。

    我们也可以看到 check_itinerary 事务已失败了 28 次。

    查看每个事务的时间。值为 90% 的列表示时间占特定事务执行时间的 90%。您可以看到在测试运行期间执行的 check_itinerary 事务中有 90% 的时间为 65.754 秒。这是其平均时间 32.826 秒的 2 倍,这意味着此事务发生时响应时间通常很长。

    注意 SLA 状态列如何显示 SLA 中相关的事务整体状态:check_itinerary 的状态是失败

如何以图形方式查看性能?

可以从“会话浏览器”窗格访问可用图。现在您将查看并分析“平均事务响应时间”图。

  1. 打开“平均事务响应时间”图。
    1. 下方的会话浏览器上,选择平均事务响应时间。“平均事务响应时间”图将在图查看区域打开。

      备注: 如果“会话浏览器”窗格中没有显示图,请右键单击“图”节点并在“打开新图”对话框中选择“事务:平均事务响应时间”节点。单击“打开图”可将图添加到“会话浏览器”窗格中。

    2. 在“图例”窗格中,单击 check_itinerary 事务。check_itinerary 事务将在图中突出显示。

      图上的点代表在场景运行的特定时间内事务的平均时间。将光标放在图中的点上。将会出现一个黄色框并显示该点的坐标值。

  2. 分析结果。

    请注意,check_itinerary 事务的平均事务时间波动很大,在场景运行 2:56 分后达到峰值 75.067 秒。

    在运行状况良好的服务器上,事务的平均时间相对稳定。在图的底部,注意 logonlogoffbook_flightsearch_flight 事务的平均时间相对稳定。

服务器的性能是否稳定?

在上一部分,您已看到服务器性能不稳定。现在您将分析 70 个正在运行的 Vuser 对系统性能的影响。

  1. 研究 Vuser 的行为。

    下方的会话浏览器上,单击正在运行的 Vuser 数。将在图查看区域打开正在运行的 Vuser 数图。

    您可以看到在场景开始运行后,Vuser 逐渐开始运行。然后 70 个 Vuser 同时运行了 3 分钟,接着 Vuser 又开始逐渐停止运行。

  2. 筛选该图,仅查看所有 Vuser 同时运行的时间段。

    筛选图之后,显示的图数据范围将缩小,仅显示符合指定条件的数据。所有其他数据将隐藏。

    1. 右键单击图并选择设置筛选/分组方式,或者单击 Analysis 工具栏上的设置筛选/分组方式按钮
    2. 筛选条件区域,选择场景已用时间行的列。
    3. 单击向下箭头并指定从 000:01:30(时:分:秒)到 000:03:45(时:分:秒)的时间范围。
    4. 单击确定
    5. 在“图设置”对话框中单击确定

      正在运行的 Vuser 数图现在仅显示场景运行后 1:30(分钟:秒)到 3:45(分钟:秒)之间运行的 Vuser。所有其他 Vuser 已全部筛选出去。

      备注: 要清除筛选,请右键单击该图并选择清除筛选/分组方式,或者单击 Analysis 工具栏上的清除筛选器和分组方式按钮

  3. 将“正在运行的 Vuser 数”图和“平均事务响应时间”图关联在一起来比较数据。

    将两个图关联起来,就会看到一个图的数据对另一个图的数据产生的影响。这称为关联两个图。

    例如,可以将“正在运行的 Vuser 数”图与“平均事务响应时间”图相关联,查看大量 Vuser 对事务平均时间产生的影响。

    1. 右键单击“正在运行的 Vuser 数”图并选择清除筛选/分组方式
    2. 右键单击该图并选择合并图
    3. 选择要合并的图列表中,选择平均事务响应时间
    4. 选择合并类型中,选择关联,然后单击确定

      现在,“运行的 Vuser”图和“平均事务响应时间”图将显示为一个图,即“运行的 Vuser - 平均事务响应时间”图。

  4. 分析关联后的图。

    在该图中您可以看到随着 Vuser 数目的增加,check_itinerary 事务的平均时间也在逐渐延长。换句话说就是,随着负载的增加,平均时间也在增加。

    运行 66 个 Vuser 时,平均时间会突然急剧拉长。我们称之为测试弄崩了服务器。同时运行的 Vuser 数超过 66 个时,时间会明显开始变长。

保存模板

目前为止您已经筛选了一个图并关联了两个图。下次分析场景时,您可能需要使用相同的筛选和合并条件来查看这些图。您可以将合并设置和筛选设置保存为模板,并在其他 Analysis 会话中使用。

要保存模板,请执行以下操作:

  1. 选择工具 > 模板。“应用/编辑模板”对话框将打开。
  2. 在“模板”窗格中,单击新建按钮。“添加新模板”对话框将打开。
  3. 为模板输入适当的名称并单击确定
  4. 单击保存并关闭关闭“应用/编辑模板”对话框。

下次您打开新的 Analysis 会话并需要使用保存的模板时,请执行以下操作:

  1. 选择工具 > 模板。“应用/编辑模板”对话框将打开。
  2. 从列表中选择模板,然后单击保存并关闭

如何确定问题的根源?

到目前为止,您已经看到了增加服务器的负载会对 check_itinerary 事务的平均响应时间产生负面影响。

您可以进一步查看 check_itinerary 事务的详细信息,了解对系统性能产生负面影响的系统资源。

自动关联工具能够合并所有包含某些数据(这些数据会对 check_itinerary 事务的响应时间产生影响)的图,并找出问题的原因。

  1. 在图树中,选择平均事务响应时间图。

    查看 check_itinerary 事务,尤其是该事务在已用时间(1 分钟到 4 分钟之间)内的情况。平均响应时间几乎是立即开始延长,然后在接近 3 分钟时达到峰值。

  2. 筛选“平均事务响应时间”图以便仅显示 check_itinerary 事务。
    1. 右键单击该图并选择设置筛选/分组方式
    2. 事务名/单元中,选择 check_itinerary
    3. 单击确定

      筛选后的图将仅显示 check_itinerary 事务。

  3. 自动关联该图。
    1. 右键单击该图,然后选择自动关联
    2. 在“自动关联”对话框中,确保要关联的度量是 check_itinerary,通过在框中输入时间或者沿着已用场景时间轴将绿色和红色的杆拖至相应的位置,将时间范围设置为从 1:20 至 3:40(分:秒)。

    3. 单击确定

      自动关联的图将在图查看区域中打开。check_itinerary 事务将突出显示。

      自动关联的图将用默认的名称命名,即自动关联的图 [1]

  4. 重命名该图。
    1. 下方的会话浏览器中,右键单击自动关联的图 [1],然后选择重命名项。这样就可以编辑图名。
    2. 输入 Auto Correlated - check_itinerary 并按 Enter,或者单击 Analysis 窗口中的任意位置。
  5. 分析自动关联的图。

    在图下方的图例窗格中,从列中向下滚动到 Windows 资源:Pool Nonpaged Bytes 和 Private Bytes 度量。

    度量关联匹配列中,您可以看到这些与内存有关的度量和 check_itinerary 事务的关联匹配超过 70%。这意味着在指定的时间间隔内,这些元素的行为与 check_itinerary 事务的行为密切相关。

    由此可以完全断定:当 check_itinerary 事务的响应时间达到峰值时,系统内存资源已不足。

还可以收集哪些与场景运行情况相关的其他信息?

除了在 Analysis 会话启动时出现在图树中的图,您还可以通过显示其他的图来获得有关场景运行情况的其他信息。

  1. 单击图 > 添加新图

    此时将打开“打开新图”对话框,并列出包含数据且可显示的图的类别。

  2. 显示新图。
    1. 在“打开新图”对话框中,单击类别旁边的“+”展开该类别。
    2. 选择一个图,然后单击打开图
    3. 单击关闭,关闭“打开新图”对话框。

      现在可以打开更多图,了解有关场景运行情况的更多信息。

如何发布结果?

您可以使用 HTML 报告或 Microsoft Word 报告发布分析结果。报告使用设计者模板创建,并且包括所提供图和数据的解释和图例。

HTML 报告

HTML 报告可以在任何浏览器中打开和查看。

要创建 HTML 报告,请执行下列操作:

  1. 单击报告 > HTML 报告
  2. 指定报告的文件名和保存路径。
  3. 单击保存

    Analysis 将创建报告并将其显示在 Web 浏览器中。注意 HTML 报告的布局与 Analysis 会话的布局十分相似。您可以单击左窗格中的链接来查看各个图。页面底部提供关于每幅图的描述。

Microsoft Word 报告

您可以通过 Microsoft Word 报告显示 Analysis 会话。与 HTML 报告相比,Word 报告的内容更全面,因为它可以包含有关场景、度量描述等的常规信息。通过设置报告格式,还可以让它包含贵公司的名称和徽标以及作者的详细信息。

与所有 Microsoft Word 文件一样,该报告也可以编辑,因此您可以在生成报告后继续添加注释和结果。

要创建 Microsoft Word 报告,请执行下列操作:

  1. 单击报告 > 新建报告

    “新建报告”对话框将打开。

  2. 常规选项卡中:
    1. 基于模板中选择详细报告(适用于单个运行)

    2. 为报告输入标题。

    3. 输入作者的姓名、职务以及单位。

  3. 格式选项卡中:

    默认情况下,生成的报告将有标题页、目录、图详细信息和描述以及度量描述。您可以选择向报告添加脚本详细信息的选项,从而可以查看业务流程步骤的缩略图。

    可以通过选择包括公司徽标并浏览到文件所在的位置来包含公司徽标。徽标必须是 .bmp 文件。

  4. 内容选项卡中:
    1. 选择要包含在报告中的场景运行部分和 Analysis 会话部分。

      本教程中您会将执行摘要添加到“内容项目”列表中。

    2. 单击添加按钮 可打开“添加内容项”窗口。选中网格中的执行摘要,并单击确定。“执行摘要”项将添加到内容项窗格的列表中。

      将以下文字输入到编辑框中:

      - 目标:该测试场景的目标是...。

      - 结论:我所得出的结论如下:

    3. 内容项窗格中,选择平均字节数(KB)最大的 URL 并单击删除按钮 。这样将从报告中排除此图。
    4. 更改项目在报告中显示的顺序。

      - 在内容项窗格中,选择工作负载特性。在所选列列表中单击每秒平均点击次数

      - 单击向下箭头直到项目出现在事务总数之下。在报告中,每秒平均点击次数项将跟随在事务总数项之后。

  5. 单击生成

    收集数据并以 Word 文件的格式创建报告,该报告将在 Microsoft Word 中打开。

    除了 Analysis 会话期间生成的图,该报告还将包括目标和结论,以及您在生成报告时选择要包含的其他部分和图。

结论

在这一课,您学习了定义服务水平协议、分析场景运行情况和以报告的形式发布结果的基础知识。

您已经了解,可以通过研究显示服务器上瓶颈(可能是由于负载过重)的各个图来确定性能问题。您已经了解,通过将这些图配置为显示关联数据可以确定瓶颈的根源。


© 1993-2014 Hewlett-Packard Development Company, L.P.