在前面的课程中,您已学习了如何设计场景、执行场景以及如何控制场景的执行。在服务器上施加负载后,需要分析运行情况,并确定需要解决哪些问题来提高系统性能。
在 Analysis 会话过程中生成的图和报告提供了有关场景性能的重要信息。使用这些图和报告,可以找出并确定应用程序的性能瓶颈,同时确定需要对系统进行哪些改进以提高其性能。
在这一课,您将学习以下内容:
Analysis 会话的目的是查找系统的性能问题,然后找出这些问题的根源,例如:
在下文中,您将学习如何打开 LoadRunner Analysis 以及生成和查看图和报告,这将有助于您发现性能问题并查明问题的根源。
打开 HP LoadRunner Analysis。
选择开始 > 所有程序 > HP Software > HP LoadRunner > Analysis,或双击桌面上的 Analysis 图标。这时将打开 HP LoadRunner Analysis。
打开 Analysis 会话文件。
为了配合本教程中的这一部分,说明更多不同的结果,我们运行了一个与您在前面课程中所运行的场景相似的场景。但是这次场景使用了 70 个 Vuser,而不是 10 个。现在您可以打开使用此场景的结果所创建的 Analysis 会话。
Analysis 包含下列主要窗格:
备注: 存在可从工具栏进行访问的其他窗格。可以在屏幕上随意拖放这些窗格。
在这一节,我们将介绍服务水平协议(或称 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_flight 和 search_flight 事务的平均事务时间何时会超过既定值。为此,请选择相应事务,然后设置阈值。这些阈值是可接受的平均事务时间最大值。
您还将设置这些阈值,将具体的负载条件考虑在内;在本例中为正在运行的 Vuser 数。换句话说就是,随着正在运行的 Vuser 数目的增加,阈值将增大。
这是因为,尽管 HP Web Tours 管理员希望平均事务时间尽可能短,但我们都知道每年的一些特定时候可以合理地假定 HP Web Tours 网站的负载比其他时候高。例如,在旅游旺季,会有更多的旅行社登录到网站来预订机票、查看航班路线,等等。在这种合理的重负载情况下,平均事务时间稍长也可以接受。
您将设置 SLA,将三种负载情况都考虑在内:轻负载、平均负载和重负载。每个场景将有各自的阈值。
运行场景后,将在 Analysis 中定义 SLA。
备注: 最好是在运行场景之前在 Controller 中定义 SLA。由于您没有分析前面课程中运行的测试场景,因此为了实现本教程的教学目的,将在 Analysis 中定义 SLA。要在 Controller 中定义 SLA,请在设计选项卡的服务水平协议部分单击新建。
现在您将定义一个 SLA,该 SLA 将为示例会话文件中的 book_flight 和 search_flight 事务设置平均事务时间的具体目标。
在运行过程中,将按设定的时间间隔评测平均事务时间。
要定义 SLA,请执行以下操作:
选择要监控的事务。
在“选择事务”页面中,从可用事务列表选择要监控的事务。
设置加载条件。
在“设置加载条件”页面,可以指示 SLA 将不同的加载条件考虑在内。
设置阈值。
在“设置阈值”页面中,您将为 check_itinerary 事务定义可接受的平均事务时间。
将阈值设置为和以下示例类似:
您仅指示以下平均事务时间是可接受的:
- 轻负载。5 秒以内
- 平均负载。10 秒以内
- 重负载。15 秒以内
保存 SLA。
要保存 SLA 并关闭向导,可以在后续网页中依次单击 Next(前进)、Finish(完成)和 Close(关闭)。
Analysis 将您的 SLA 设置应用于摘要报告。然后更新报告以包含所有相关的 SLA 信息。
“摘要报告”选项卡显示关于场景运行情况的常规信息和统计信息,另外还提供所有相关的 SLA 信息。例如,按照所定义的 SLA,执行情况最差的事务是哪些,如何按照设定的时间间隔执行特定的事务以及整体 SLA 状态。可以从会话浏览器打开摘要报告。
场景的总体统计信息
在“统计信息摘要表”部分,您可以看到这次测试最多运行了 70 个 Vuser。另外此处还显示了其他统计信息,例如总吞吐量/平均吞吐量以及总点击数/平均点击数。
执行情况最差的事务
“5 个最差事务”表最多可显示五个定义了 SLA 且执行情况最差的事务。
您可以看到在 check_itinerary 事务持续时间内,该时间超过了 SLA 阈值 66.4%。整个运行期间,它超出 SLA 阈值的平均百分比为 200.684%。
超出 SLA 阈值的时间间隔
“随时间变化的场景行为”部分显示不同的时间间隔内各个事务的执行情况。绿色方块表示事务在 SLA 阈值范围内执行的时间间隔,红色方块表示事务失败的时间间隔,灰色方块表示尚未定义相关的 SLA。
您可以看到对于为其定义 SLA 的事务,check_itinerary 的大部分时间间隔均超过了阈值。
事务的整体性能
“事务摘要”列出每个事务的摘要情况。
我们也可以看到 check_itinerary 事务已失败了 28 次。
查看每个事务的时间。值为 90% 的列表示时间占特定事务执行时间的 90%。您可以看到在测试运行期间执行的 check_itinerary 事务中有 90% 的时间为 65.754 秒。这是其平均时间 32.826 秒的 2 倍,这意味着此事务发生时响应时间通常很长。
注意 SLA 状态列如何显示 SLA 中相关的事务整体状态:check_itinerary 的状态是失败。
可以从“会话浏览器”窗格访问可用图。现在您将查看并分析“平均事务响应时间”图。
分析结果。
请注意,check_itinerary 事务的平均事务时间波动很大,在场景运行 2:56 分后达到峰值 75.067 秒。
在运行状况良好的服务器上,事务的平均时间相对稳定。在图的底部,注意 logon、logoff、book_flight 和 search_flight 事务的平均时间相对稳定。
在上一部分,您已看到服务器性能不稳定。现在您将分析 70 个正在运行的 Vuser 对系统性能的影响。
研究 Vuser 的行为。
在图下方的会话浏览器上,单击正在运行的 Vuser 数。将在图查看区域打开正在运行的 Vuser 数图。
您可以看到在场景开始运行后,Vuser 逐渐开始运行。然后 70 个 Vuser 同时运行了 3 分钟,接着 Vuser 又开始逐渐停止运行。
筛选该图,仅查看所有 Vuser 同时运行的时间段。
筛选图之后,显示的图数据范围将缩小,仅显示符合指定条件的数据。所有其他数据将隐藏。
将“正在运行的 Vuser 数”图和“平均事务响应时间”图关联在一起来比较数据。
将两个图关联起来,就会看到一个图的数据对另一个图的数据产生的影响。这称为关联两个图。
例如,可以将“正在运行的 Vuser 数”图与“平均事务响应时间”图相关联,查看大量 Vuser 对事务平均时间产生的影响。
分析关联后的图。
在该图中您可以看到随着 Vuser 数目的增加,check_itinerary 事务的平均时间也在逐渐延长。换句话说就是,随着负载的增加,平均时间也在增加。
运行 66 个 Vuser 时,平均时间会突然急剧拉长。我们称之为测试弄崩了服务器。同时运行的 Vuser 数超过 66 个时,时间会明显开始变长。
目前为止您已经筛选了一个图并关联了两个图。下次分析场景时,您可能需要使用相同的筛选和合并条件来查看这些图。您可以将合并设置和筛选设置保存为模板,并在其他 Analysis 会话中使用。
要保存模板,请执行以下操作:
下次您打开新的 Analysis 会话并需要使用保存的模板时,请执行以下操作:
到目前为止,您已经看到了增加服务器的负载会对 check_itinerary 事务的平均响应时间产生负面影响。
您可以进一步查看 check_itinerary 事务的详细信息,了解对系统性能产生负面影响的系统资源。
自动关联工具能够合并所有包含某些数据(这些数据会对 check_itinerary 事务的响应时间产生影响)的图,并找出问题的原因。
在图树中,选择平均事务响应时间图。
查看 check_itinerary 事务,尤其是该事务在已用时间(1 分钟到 4 分钟之间)内的情况。平均响应时间几乎是立即开始延长,然后在接近 3 分钟时达到峰值。
分析自动关联的图。
在图下方的图例窗格中,从图列中向下滚动到 Windows 资源:Pool Nonpaged Bytes 和 Private Bytes 度量。
在度量和关联匹配列中,您可以看到这些与内存有关的度量和 check_itinerary 事务的关联匹配超过 70%。这意味着在指定的时间间隔内,这些元素的行为与 check_itinerary 事务的行为密切相关。
由此可以完全断定:当 check_itinerary 事务的响应时间达到峰值时,系统内存资源已不足。
除了在 Analysis 会话启动时出现在图树中的图,您还可以通过显示其他的图来获得有关场景运行情况的其他信息。
单击图 > 添加新图。
此时将打开“打开新图”对话框,并列出包含数据且可显示的图的类别。
Vuser。显示有关 Vuser 及其状态的信息。
错误。显示错误统计信息。
事务。显示有关事务及其响应时间的数据。
Web 资源。显示点击次数、吞吐量和连接数据。
网页诊断。显示脚本中每个受监控网页的数据。
系统资源。显示系统资源使用情况数据。
单击关闭,关闭“打开新图”对话框。
现在可以打开更多图,了解有关场景运行情况的更多信息。
您可以使用 HTML 报告或 Microsoft Word 报告发布分析结果。报告使用设计者模板创建,并且包括所提供图和数据的解释和图例。
HTML 报告
HTML 报告可以在任何浏览器中打开和查看。
要创建 HTML 报告,请执行下列操作:
单击保存。
Analysis 将创建报告并将其显示在 Web 浏览器中。注意 HTML 报告的布局与 Analysis 会话的布局十分相似。您可以单击左窗格中的链接来查看各个图。页面底部提供关于每幅图的描述。
Microsoft Word 报告
您可以通过 Microsoft Word 报告显示 Analysis 会话。与 HTML 报告相比,Word 报告的内容更全面,因为它可以包含有关场景、度量描述等的常规信息。通过设置报告格式,还可以让它包含贵公司的名称和徽标以及作者的详细信息。
与所有 Microsoft Word 文件一样,该报告也可以编辑,因此您可以在生成报告后继续添加注释和结果。
要创建 Microsoft Word 报告,请执行下列操作:
单击报告 > 新建报告。
“新建报告”对话框将打开。
从基于模板中选择详细报告(适用于单个运行)。
为报告输入标题。
输入作者的姓名、职务以及单位。
在格式选项卡中:
默认情况下,生成的报告将有标题页、目录、图详细信息和描述以及度量描述。您可以选择向报告添加脚本详细信息的选项,从而可以查看业务流程步骤的缩略图。
可以通过选择包括公司徽标并浏览到文件所在的位置来包含公司徽标。徽标必须是 .bmp 文件。
选择要包含在报告中的场景运行部分和 Analysis 会话部分。
本教程中您会将执行摘要添加到“内容项目”列表中。
单击添加按钮 可打开“添加内容项”窗口。选中网格中的执行摘要,并单击确定。“执行摘要”项将添加到内容项窗格的列表中。
将以下文字输入到编辑框中:
- 目标:该测试场景的目标是...。
- 结论:我所得出的结论如下:
更改项目在报告中显示的顺序。
- 在内容项窗格中,选择工作负载特性。在所选列列表中单击每秒平均点击次数。
- 单击向下箭头直到项目出现在事务总数之下。在报告中,每秒平均点击次数项将跟随在事务总数项之后。
单击生成。
收集数据并以 Word 文件的格式创建报告,该报告将在 Microsoft Word 中打开。
除了 Analysis 会话期间生成的图,该报告还将包括目标和结论,以及您在生成报告时选择要包含的其他部分和图。
在这一课,您学习了定义服务水平协议、分析场景运行情况和以报告的形式发布结果的基础知识。
您已经了解,可以通过研究显示服务器上瓶颈(可能是由于负载过重)的各个图来确定性能问题。您已经了解,通过将这些图配置为显示关联数据可以确定瓶颈的根源。
|