负载测试分析器概述

本主题适用于:

Visual Studio 旗舰版

Visual Studio 高级专业版

Visual Studio 专业版 

Visual Studio 学习版

主题适用 主题不适用 主题不适用 主题不适用

您可以使用负载测试分析器来帮助找出瓶颈、识别错误和测量应用程序中的改进。

您可以使用负载测试分析器通过三种方式执行负载测试分析:

  • 在监视正在运行的负载测试期间分析负载测试。

  • 在负载测试运行完成之后分析负载测试结果。

  • 分析以前运行的负载测试的负载测试结果。

负载测试结果中存储的数据包含从测试计算机定期收集的性能计数器样本。 有关更多信息,请参见在负载测试中为计算机指定计数器集。 它还包含错误日志和阈值规则冲突信息,以及数据收集器收集的数据和详细计时信息。

在负载测试过程中收集的性能数据量取决于以下因素:

默认情况下,测试控制器在负载测试运行时将收集的所有性能计数器数据保存到一个数据库中。 其他数据(如错误详细信息和计时详细信息)仅在测试完成后才加载到数据库中。 有关更多信息,请参见管理负载测试结果储存库中的负载测试结果

分析和监视正在运行的负载测试

在测试运行时,内存中会维护一个简洁性能计数器数据集,可以在负载测试分析器中监视该数据集。 为了防止结果内存要求无限制地增加,对于每个性能计数器最多可维护 200 个样本。 其中包括在当前已用时间范围内均匀分布的 100 个样本以及最新的 100 个样本。 在运行过程中累积的结果称为“进行中负载测试结果”。

在负载测试分析器中分析正在运行的测试

运行负载测试图形视图

除了简洁性能计数器数据集之外,负载测试分析器还具有以下功能,可用于分析在运行负载测试时唯一的进行中负载测试结果数据。

  • 状态栏会显示负载测试的状态、发现的阈值冲突和错误数以及剩余时间。

  • 可以使用负载测试工具栏上的一个按钮来停止负载测试。

  • 关系图上提供了折叠和滚动模式。

  • 使用关系图视图中的图例面板或是关系图视图或表视图中的计数器面板,可以在简洁数据集中添加、删除或修改要分析的可用性能计数器的外观。

  • 概述面板会显示正在运行的负载测试的配置、请求和测试用例信息。

  • 添加分析注释,这些注释将随负载测试结果一起保存。

下表显示了负载测试运行时负载测试分析器的工具栏在负载测试分析器中启用的功能:

提示

有关负载测试分析器工具栏命令的完整列表,请参见本主题中的工具栏。

用于正在运行的负载测试的负载测试分析器工具栏命令

工具栏命令

说明

本主题中的其他信息

停止

停止当前正在运行的测试。

关系图

显示关系图视图(默认视图)。

关系图

显示表视图。

显示计数器面板

显示或隐藏负载测试性能计数器面板(默认为显示)。

显示计数器面板

显示概述面板

显示或隐藏概述面板(默认为显示)。

显示概述面板

“面板”下拉列表

配置各种面板排列方式以显示表和关系图。

“面板”下拉列表

还原默认视图

将关系图视图中的面板排列方式重置为默认配置。

还原默认视图

添加新关系图

在关系图视图中添加新关系图。

添加新关系图

移除关系图

移除关系图视图中的所选关系图。

移除关系图

“关系图选项”下拉列表

显示或隐藏关系图视图中的图例并配置关系图的各个方面。 包括水平网格线、最少和最多线条数以及阈值冲突。

“关系图选项”下拉列表

  • 关系图视图图例

  • 用关系图表示整个运行的数据

    (折叠模式)

  • 仅用关系图表示最新的数据

    (滚动模式)

添加分析注释

添加要与负载测试结果关联的注释。

添加分析注释

有关更多信息,请参见如何:运行负载测试

概述面板

已完成的测试或以前运行的测试

正在运行的负载测试

主题不适用 主题适用

概述面板

概述面板

概述面板显示了正在运行的负载测试的配置、请求和测试用例信息。 可以通过单击负载测试工具栏上的**“显示概述面板”**来显示或隐藏概述面板。

分析已完成测试

在负载测试完成后,负载测试分析器会显示为新的选项卡式文档,其中显示负载测试摘要。 负载测试分析器也可以使用常用的 Visual Studio 窗口操作技巧来停靠或设置为浮动。 窗口的标题由负载测试的名称和测试开始的时间组成,例如 LoadTest2 [1:15 PM]。

已完成负载测试的负载测试结果包含从测试计算机定期收集的性能计数器样本和错误信息。 可以在负载测试运行过程中收集大量性能计数器样本。 收集的性能数据量取决于测试运行的长度、采样间隔、测试计算机的数量、所收集的计数器的数量、配置的数据收集器以及日志记录级别。 对于大型负载测试,所收集的性能数据量很容易就能达到几 GB。 有关更多信息,请参见使用测试控制器和测试代理在多台测试计算机之间分发负载测试负载测试的注意事项

测试控制器会在测试运行期间将收集的所有性能计数器数据后台处理到一个数据库中。 其他数据(如计时详细信息和错误详细信息)会在测试完成时加载到该数据库中。 已完成测试的性能数据将由负载测试分析器从数据库加载并进行分析。 从负载测试结果数据库加载的已完成测试结果称为“运行后负载测试结果”或简称为“负载测试结果”。

负载测试分析器具有以下独特功能,可用于在负载测试完成后分析运行后负载测试结果数据:

  • 将从数据库加载完整的性能计数器数据集。 可以使用关系图视图中的计数器面板或图例面板来添加、删除或修改要分析的性能计数器的外观。

  • 提供百分点数据。

  • 图形上有最小值/最大值线。

  • 关系图上提供了缩放模式。 使用此视图,可以分析包含在任何时间范围内的数据。

  • 使用摘要视图,可以对负载测试结果执行快速分析。

  • 使用详细信息视图,可以分析负载测试的虚拟用户活动。

  • 使用表视图,可以通过表格格式查看收集的信息。 这些信息包括来自某些类型的数据收集器的数据。

  • 使用负载测试分析器工具栏上的数据和诊断附件[Data and Diagnostics Attachments]命令,可以打开和分析从数据收集器收集的其他数据(如 IntelliTrace 或系统信息)。

  • 通过在测试中的 Web 应用程序中包括 ASP.NET 探查器性能报告来补充负载测试分析提供了有关负载测试的 ASP.NET 探查器性能数据报告。

  • 将关系图数据导出到 Microsoft Excel 允许您将数据从关系图视图导出到 Microsoft Excel 电子表格或作为 .csv 文件导出。

负载测试分析器的工具栏为负载测试结果启用了负载测试分析器中的以下功能:

提示

有关负载测试分析器工具栏命令的完整列表,请参见本主题中的工具栏。

用于负载测试结果的负载测试分析器工具栏命令

工具栏命令

说明

本主题中的其他信息

摘要

显示摘要视图(默认视图)。

摘要

关系图

显示关系图视图。

关系图

显示表视图。

显示计数器面板

显示或隐藏负载测试性能计数器面板(默认为显示)。

显示计数器面板

“面板”下拉列表

配置各种面板排列方式以显示表和关系图。

“面板”下拉列表

还原默认视图

将关系图视图中的面板排列方式重置为默认配置。

还原默认视图

添加新关系图

在关系图视图中添加新关系图。

添加新关系图

移除关系图

移除关系图视图中的所选关系图。

移除关系图

“关系图选项”下拉列表

显示或隐藏关系图视图中的图例并配置关系图的各个方面。 包括水平网格线、最少和最多线条数以及阈值冲突。

“关系图选项”下拉列表

  • 关系图视图图例

  • 显示水平网格线

  • 显示最少/最多线条数

  • 在关系图上显示阈值冲突

显示缩放控件

在关系图上显示或隐藏滑块缩放控件,可以使用这些控件调整水平和垂直网格定义的值。

显示缩放控件

同步水平缩放控件

打开或关闭自动水平缩放同步。 当自动水平缩放同步打开时,应用于关系图的任何缩放也会应用于关系图视图上的任何其他关系图。

同步水平缩放控件

添加分析注释

添加要与负载测试结果关联的注释。

添加分析注释

创建 Excel 报告

创建 Microsoft Excel 报告以对两个负载测试结果执行并行分析或跟踪趋势分析。

创建 Excel 报告

“将关系图数据导出到 Excel”[Export Graphs Data to Excel]下拉列表

将关系图数据导出到 Microsoft Excel,或使用逗号分隔值 (.CSV) 格式导出到文件。

“将关系图数据导出到 Excel”[Export Graphs Data to Excel]下拉列表

查看探查器性能报告

打开与负载测试结果关联的探查器报告以执行进一步分析。

查看探查器性能报告

查看数据和诊断附件

打开“选择诊断数据适配器附件”对话框以选择要分析的适配器。 例如,可以选择 IntelliTrace 适配器,单击“确定”,然后打开在负载测试中使用的测试代理的 IntelliTrace 摘要。

查看数据和诊断附件

分析以前完成的负载测试

在从负载测试编辑器运行负载测试时,负载测试结果会自动打开,正在运行的负载测试显示在负载测试分析器中。 而当您从**“测试视图”窗口、“测试列表编辑器”**窗口或命令行运行负载测试时,则必须手动访问负载测试结果。 有关运行负载测试的不同方法的更多信息,请参见运行负载测试

若要分析以前运行的负载测试的负载测试结果,必须先使用负载测试编辑器工具栏中的**“打开和管理结果”**按钮检索负载测试结果。 有关更多信息,请参见如何:访问负载测试结果以进行分析

与已完成的负载测试运行一样,负载测试分析器将显示为新选项卡式文档。 窗口的标题由负载测试的名称和测试开始的时间组成,例如 LoadTest1 [12:40 PM]。

提示

可以同时打开多个负载测试分析器以比较不同的负载测试结果。

将注释附加到负载测试结果

已完成的测试或以前运行的测试

正在运行的负载测试

主题不适用 主题适用

可以通过单击工具栏上的**“添加分析注释”**将注释附加到负载测试结果。 可以添加要与负载测试结果一起永久存储的说明和分析注释。

输入的说明也将显示在与**“负载测试编辑器”“打开和管理测试结果”[Open and Manage Test Results]对话框中的负载测试关联的“说明”**列中。 有关更多信息,请参见如何:访问负载测试结果以进行分析。 此外,在为负载测试结果创建 Excel 报告时也将显示注释。 有关更多信息,请参见报告负载测试结果以比较测试或进行趋势分析

将注释添加到负载测试结果

用于添加负载测试说明的分析对话框

有关更多信息,请参见如何:使用负载测试分析器向运行负载测试中添加注释如何:使用负载测试分析器在分析完成的负载测试时添加注释

负载测试分析器工具栏

负载测试分析器工具栏

负载测试分析器工具栏

负载测试分析器中的工具栏根据负载测试是正在运行还是已完成运行来提供不同的命令。 根据当前使用的视图,某些命令可能会在工具栏上处于禁用状态。

负载测试分析器工具栏提供以下命令:

  1. 摘要可显示摘要视图(在负载测试完成时显示)。

  2. 关系图可显示关系图视图。

  3. 表可显示表视图。

  4. 详细信息可显示虚拟用户活动图(在负载测试完成时显示)。

  5. 显示计数器面板可显示或隐藏负载测试性能计数器面板。

  6. “面板”下拉列表可配置各种面板排列方式以显示表和关系图(在关系图视图和表视图中启用)。

  7. 还原默认视图可将关系图视图中的面板排列方式重置为默认配置。

  8. 添加新关系图可将新关系图添加到关系图视图。

  9. 移除关系图可移除关系图视图中的所选关系图。

  10. “关系图选项”下拉列表可显示或隐藏关系图视图中的图例并配置关系图的各个方面。 包括水平网格线、最少和最多线条数以及阈值冲突。

  11. 显示缩放控件可在关系图上显示或隐藏滑块缩放控件,可以使用这些控件调整水平和垂直网格定义的值。

  12. 同步水平缩放控件可打开或关闭自动水平缩放同步。 当自动水平缩放同步打开时,应用于关系图的任何缩放也会应用于关系图视图上的任何其他关系图。

  13. 添加分析注释可添加要与负载测试结果关联的注释。

  14. 创建 Excel 报告可创建 Microsoft Excel 报告以对两个负载测试结果执行平行分析或跟踪趋势分析。

  15. “将关系图数据导出到 Excel”[Export Graphs Data to Excel]下拉列表可将关系图数据导出到 Microsoft Excel,或使用逗号分隔值 (.CSV) 格式导出到文件。

  16. 查看探查器性能报告可打开与负载测试结果关联的 ASP.NET 探查器报告以执行进一步分析。

  17. 查看数据和诊断附件可打开**“选择诊断数据适配器附件”对话框以选择要分析的适配器。 例如,可以选择 IntelliTrace 适配器,单击“确定”**,然后打开在负载测试中使用的测试代理的 IntelliTrace 摘要。

  18. 停止可结束当前正在运行的测试(在负载测试正在运行时显示)。

  19. 显示概述面板可显示或隐藏概述面板(在负载测试正在运行时显示)。

负载测试分析器状态栏

负载测试分析器状态栏

负载测试分析器状态栏显示正在运行的测试或已完成测试的状态。 负载测试状态栏上将显示以下信息:

  • 状态图标指示出正在运行的负载测试或已完成负载测试的状态。 例如,如果发生任何错误或阈值冲突,则会在正在运行的测试过程中出现警告图标。

  • 状态消息显示出指示负载测试当前状态的文本消息,例如“正在进行测试”、“测试已完成”以及“正在从数据库读取计数器样本”。

  • 阈值冲突计数提供了一个链接,该链接显示为此负载测试运行报告的阈值冲突的总数。 单击此链接可在数据面板中显示带有阈值冲突表的表视图。

    提示

    此链接仅在发生第一个阈值冲突之后显示。

  • 错误计数提供了一个链接,该连接显示为此负载测试运行报告的错误总数。 单击此链接可在数据面板中显示带有阈值冲突表的表视图。

    提示

    此链接仅在发生第一个错误之后显示。

  • 剩余时间显示出当前正在运行的测试所剩余的时间量。 此标签在测试完成时消失。

  • 测试进度指示出当前正在运行的测试已完成的时间百分比,或从负载测试结果数据库加载计数器样本时的估计进度量。

在负载测试分析器中查看数据

在使用负载测试分析器查看正在运行的测试或已完成负载测试的结果时,可以显示以下窗格。 通过这些窗格,您可以通过不同方式分析数据:

  • “摘要”视图

  • 关系图视图

  • 表视图

  • 详细信息视图

“摘要”视图

已完成的测试或以前运行的测试

正在运行的负载测试

主题适用 主题不适用

负载测试分析器中的摘要视图

“摘要”视图

运行负载测试后,可以查看负载测试摘要以快速了解结果。 负载测试摘要以简洁、易读的格式提供关键结果。 您还可以打印负载测试摘要, 以便于在向利益干系人传达结果时使用。

提示

通过右击并选择负载测试摘要上快捷菜单中的“打印”,可以打印负载测试摘要。 通过选择摘要上快捷菜单中的“打印预览”,可以先进行打印预览。 还可以直接从预览屏幕上进行打印。

负载测试摘要分为几个小节。 开头几节显示在摘要的顶部,并且始终可见。 当查看负载测试摘要时,首先会显示下列各项:

  • 有关测试运行的信息

  • 整体结果

  • 关键统计信息:最慢的 5 个页面

  • 关键统计信息:最慢的 5 个测试

  • 关键统计信息:最慢的 5 个 SQL 操作

    提示

    仅当在负载测试中启用了 SQL 跟踪时,才会显示“SQL 操作”一节。 有关更多信息,请参见收集 SQL 跟踪数据,以监视和提高负载测试中的性能

下列各项显示在负载测试摘要的末尾,可以将这些项折叠以节省空间:

  • 测试结果

  • 页结果

  • 事务结果

  • 测试中系统的资源

  • 控制器和代理资源

  • 错误

有关测试运行的信息

“有关测试运行的信息”一节包含有关运行的常规信息。 其中包括测试的名称、开始和结束时间以及运行该测试的控制器。 此节还包含有关运行的可选说明,这些说明是您在运行负载测试时添加的。

整体结果

“整体结果”一节包含测试的摘要结果。 其中包括每秒钟的请求数、失败请求的总数、平均响应时间以及平均页面时间。

关键统计信息:最慢的 5 个页面

“最慢的页面”一节包含负载测试中最慢的 5 个页面。 此节显示每个页面的 URL 和平均页面加载时间。 这些页面按降序列出。 您可以单击某个页面的 URL 打开**“页”**表,以查看该页面的更多详细信息。 有关更多信息,请参见如何:使用负载测试分析器在负载测试中查看网页响应时间

关键统计信息:最慢的 5 个测试

“最慢的测试”一节包含负载测试中最慢的 5 个测试。 此节显示每个测试的测试名称和平均测试时间。 这些测试按降序列出。 您可以单击某个测试的名称打开**“测试”**表,以查看该测试的更多详细信息。 有关更多信息,请参见在负载测试分析器的表视图中分析负载测试结果

关键统计信息:最慢的 5 个 SQL 操作

如果在负载测试中启用了 SQL 跟踪,则“最慢的查询”一节将包含负载测试中最慢的 5 个查询。 此节显示每个测试的操作名称和持续时间。 持续时间以微秒 (SQL Server 2005) 或毫秒(SQL Server 2000 和早期版本)为单位显示。 这些测试按持续时间以降序列出。 您可以单击某个操作的名称打开**“SQL 跟踪”**表,以查看该操作的更多详细信息。 有关更多信息,请参见如何:使用 SQL 跟踪表查看负载测试中的 SQL 跟踪数据

测试结果

“测试结果”一节列出了负载测试中的所有测试和方案。 其中显示了测试的名称、方案、运行次数、失败次数以及平均测试时间。 您可以单击某个测试的名称打开**“测试”**表,以查看该测试的更多详细信息。 有关更多信息,请参见在负载测试分析器的表视图中分析负载测试结果

提示

通过单击此节标题左侧的箭头,可以折叠或展开此节。

页结果

“页结果”一节列出了负载测试中的所有网页。 其中显示了 URL、方案、测试的名称、平均页面时间以及计数。 您可以单击某个页面的 URL 打开**“页”**表,以查看该页面的更多详细信息。 有关更多信息,请参见如何:使用负载测试分析器在负载测试中查看网页响应时间

提示

通过单击此节标题左侧的箭头,可以折叠或展开此节。

事务结果

“事务结果”一节列出了负载测试中的所有事务。 其中显示了事务名称、方案、测试、响应时间、运行时间和计数。 您可以单击某个事务的名称打开**“事务”**表,以查看该事务的更多详细信息。 有关更多信息,请参见在负载测试分析器的表视图中分析负载测试结果

提示

通过单击此节标题左侧的箭头,可以折叠或展开此节。

测试中系统的资源

“测试中系统的资源”一节列出了为其生成负载的一组目标计算机。 除代理或控制器之外,这些计算机还包括您从中收集计数器集的任何计算机。 其中显示了计算机名称、处理器时间百分比和可用内存。 您可以单击某个计算机名称打开**“测试中的系统”**图形,以查看不同时间的资源使用量。 有关更多信息,请参见在负载测试分析器的关系图视图中分析负载测试结果

提示

通过单击此节标题左侧的箭头,可以折叠或展开此节。

控制器和代理资源

“控制器和代理资源”一节列出了用于运行测试的计算机。 其中显示了计算机名称、处理器时间百分比和可用内存。 您可以单击某个计算机名称打开**“控制器和代理”**图形,以查看不同时间的资源使用量。 有关更多信息,请参见在负载测试分析器的关系图视图中分析负载测试结果

提示

通过单击此节标题左侧的箭头,可以折叠或展开此节。

错误

“错误”一节列出了负载测试期间发生的所有错误。 其中显示了错误类型和子类型、计数以及最后一条消息。 您可以单击某个错误打开**“错误”**表,以查看该错误的更多详细信息。 有关更多信息,请参见使用错误表分析负载测试中的错误

提示

通过单击此节标题左侧的箭头,可以折叠或展开此节。

关系图视图

已完成的测试或以前运行的测试

正在运行的负载测试

主题适用 主题适用

负载测试分析器中的关系图视图

图形视图

若要以关系图的形式显示负载测试结果,请单击负载测试工具栏上的**“关系图”。 每个关系图都显示在一个面板中,关系图的名称显示在下拉列表的顶部。 若要在面板中显示不同的关系图,请从列表中选择不同的关系图名称。 一次最多可显示四个关系图面板。 可以使用“面板”下拉列表工具栏按钮在不同面板布局之间切换,并可使用“还原默认视图”**按钮还原默认视图。

系统提供了一些内置的关系图。 这些关系图包括常见负载测试情况的计数器信息。 可以通过为关系图选择计数器来自定义内置关系图。 为此,请使用计数器面板的弹出菜单中的**“在关系图上显示计数器”选项。 此外,还可以使用工具栏中的“添加新关系图”按钮或计数器面板弹出菜单中的“添加关系图”来创建自己的关系图。 也可以使用工具栏上的“移除关系图”**按钮来删除分析负载测试不再需要的任何关系图。

有关更多信息,请参见下列主题:

如何:在负载测试结果中的关系图上添加和删除计数器

如何:在负载测试结果中创建自定义关系图

在负载测试分析器的关系图视图中分析负载测试结果.

关系图模式

负载测试陈分析器的关系图视图中的关系图以三种模式之一显示:

  • 折叠模式是运行负载测试期间负载测试分析器中的默认关系图模式。 折叠关系图用于正在运行的负载测试。 这可减少内存中必须保持的数据量,但是仍显示性能计数器在整个测试运行持续时间内的趋势。

  • 滚动模式是可在负载测试运行期间查看负载测试的结果时使用的模式。 滚动关系图是可选视图,用于显示最新数据点。 使用滚动关系图只能查看测试中最新的 100 个数据间隔。

  • 缩放模式在从数据库中查看已完成负载测试的结果时使用。 可以调整水平 x 轴缩放以分析负载测试过程中的特定时间段。 可以调整垂直 y 轴缩放以分析关系图中包含的性能计数器的特定值范围。

更改关系图模式

使用工具栏上的**“关系图选项”下拉列表,可在负责测试正在运行时在折叠与滚动模式之间切换。 可为折叠模式选择“用关系图表示整个运行的数据”,或为滚动该模式选择“仅用关系图表示最新的数据”**。

折叠模式(用关系图表示整个运行的数据)

折叠模式是运行负载测试期间负载测试分析器中的默认模式。 折叠关系图用于正在运行的负载测试。 这可减少内存中必须保持的数据量,但是仍显示性能计数器在整个测试运行持续时间内的趋势。 虽然由于折叠会在运行过程中从内存丢弃数据,但是在负载测试过程中收集的每个数据样本都会存储在负载测试数据库中。 运行完成之后,可以通过缩放模式访问这些数据。

对于一个性能计数器,折叠关系图最多可显示 100 个数据点。 折叠关系图的水平时间线 x 轴的原点为 00:00,范围覆盖整个测试运行。

折叠模式

使用折叠模式的关系图

当为计数器收集的数据点数超过 100 时,关系图会通过移除数据系列中的交错样本进行折叠,并重新计算移除的样本旁的数据点。 例如,对于 5 秒采样间隔,第一次折叠会在测试进行到 500 秒时发生。

滚动模式

滚动关系图是用于进行中的运行的可选视图,可显示最新数据点。 使用滚动关系图只能查看测试中最新的 100 个数据间隔。

在滚动模式下,关系图的 x 轴原点会随着测试的进行而向前滚动,从而使关系图上可以显示最新的 100 个采样间隔。 在达到 100 数据点的限制时,关系图会自动向前滚动 10 个采样间隔。

滚动模式

使用滚动模式的关系图

与折叠关系图的 x 轴范围始终不断增大相比,滚动关系图的 x 轴范围保持固定为采样间隔的 100 倍。 与折叠关系图相比,滚动关系图的更新保持以固定的采样间隔进行,而折叠关系图的更新将随着测试的进行以不断增大的间隔(采样间隔的倍数)进行。

缩放模式

在查看已完成负载测试结果或加载以前运行的负载测试结果时,可使用缩放关系图模式。 在缩放关系图中,整个运行的数据样本将从数据库加载,缩放控件用于选择要在关系图上显示的时间和计数器值范围。

负载测试结果数据库包含在负载测试期间收集的每个数据点。 在典型负载测试中,可能会在整个负载测试运行过程中具有数千个采样间隔。

缩放关系图最多可显示 100 个数据点。 如果关系图的范围超过 100 个采样间隔,则会采用与折叠模式相同的方式,在整个范围内移除交错样本以减少样本数。 但是与折叠模式不同,所移除的样本不会从内存中移除,并且可以通过缩放为较小时间段进行显示。 如果缩放后的范围小于 100 个采样间隔,则不会为满足 100 个数据点的限制而移除任何采样间隔。

缩放关系图始终从跨越整个运行的缩放范围开始。 通过调整缩放控件,关系图上显示的范围将发生改变。

关系图视图缩放控件

已完成的测试或以前运行的测试

正在运行的负载测试

主题适用 主题适用

仅当在缩放模式下查看负载测试结果时,缩放控件才在负载测试分析器中显示。 在负载测试已完成或加载了以前运行的负载测试时,会在关系图视图中建立缩放模式。 有关更多信息,请参见如何:访问负载测试结果以进行分析

可以使用工具栏上的**“显示缩放控件”**来显示或隐藏关系图上的缩放控件。

可以调整水平 x 轴缩放以分析负载测试过程中的特定时间段。 可以调整垂直 y 轴缩放以分析关系图中包含的计数器的特定值范围。

可以使用鼠标来调整水平时间线和垂直值范围缩放控件。 也可以使用向左键和向右键来调整水平时间线控件。 通过使用箭头键调整缩放控件,可以按每次 1 个采样间隔来调整窗口范围。 使用 Shift 和箭头键,可以进行 10 个采样间隔的调整。

若要使用箭头键调整缩放控件,请先使用 Tab 键将焦点设置在缩放控件上。 当焦点在左滑块上时,箭头键会按 1 个间隔向左或向右移动缩放窗口的起始边界。 当焦点在中心滑块上时,可以使用箭头键按 1 个采样间隔向左或向右滚动缩放窗口,而不更改缩放窗口的大小。 最后,右滑块移动,按 1 个采样间隔扩大或缩小缩放窗口结束的范围。

若要将水平和垂直缩放控件恢复为显示完整时间线和值范围,可以使用关系图上的弹出菜单中的**“水平缩小”选项、“垂直缩小”选项或“在两个方向上均缩小”**选项。

提示

可以使用工具栏中的“同步水平缩放控件”打开或关闭自动水平缩放同步。 当同步打开时,应用于关系图的任何缩放也会应用于关系图视图上的任何其他关系图。

关系图视图缩放控件

图形视图缩放控件

在上图中,“测试中的系统”关系图已放大,以便调查阈值问题。 阈值冲突已通过使用工具栏上关系图选项下拉列表中的**“在关系图上显示阈值冲突”**启用。

有关更多信息,请参见在负载测试分析器的关系图视图中分析负载测试结果

关系图视图选项

图形视图选项

可以使用工具栏中的**“关系图选项”**下拉列表来选择用于自定义关系图视图的不同方式:

  • 显示图例可显示或隐藏与关系图视图关联的图例窗格。

  • 用关系图表示整个运行的数据可显示整个运行的数据。 请参见本文档后面的“折叠关系图视图”的详细说明。

  • 仅用关系图表示最新的数据可显示最新的 100 个采样间隔的数据。 请参见本文档后面的“滚动关系图视图”的详细说明。

  • 显示水平网格线可显示或隐藏关系图上的水平网格线。

  • 显示最少/最多线条数可显示折叠数据点的最小和最大值。 有关此选项,请参见关系图模式下的详细说明。

  • 在关系图上显示阈值冲突可在关系图上为具有关联阈值冲突的数据点绘制阈值冲突句柄。

关系图区域

关系图区域包括表示时间线的水平 x 轴、表示计数器值范围的 y 轴和绘图区。 所选关系图在当前关系图模式下绘制。 有关可用关系图模式的详细说明,请参见关系图模式。

绘图区域

关系图区域

可以通过单击关系图区域中的绘图线条来更改所选计数器。 此外,在将指针暂停在关系图区域中的某个数据点或阈值冲突上方时,会显示弹出信息。

复制到剪贴板

在关系图区域弹出菜单中,还提供了**“复制”**操作。 复制命令可将关系图和图例的快照以 HTML 格式复制到剪贴板中,随后可以使用 Office Outlook 将该快照粘贴到报告和电子邮件中。

“绘图选项”对话框

使用**“绘图选项”**对话框,可以更改所绘制的计数器的颜色和线型。 也可以将范围固定为特定值,或将范围设置为基于采样的数据自动进行调整。

“绘图选项”对话框

“绘图选项”对话框

关系图视图图例

可以使用工具栏中的**“关系图选项”下拉列表来选择另一个“显示图例”,以显示或隐藏与关系图视图关联的“图例”**面板。

关系图视图图例

图形视图图例

关系图视图图例可显示与关系图关联的每个性能计数器的信息。 图例中包含以下信息:

  • 在关系图上显示[Show on graph]:使用这些复选框,可指定是否在关系图上绘制特定计数器(如“User load”“Errors/Sec”)的线条。 如果要在关系图上绘制线条,则选中一个复选框。 清除复选框可从关系图中移除绘图线条。 在移除绘制线条时,计数器的统计信息会继续显示在图例中。

  • **范围:**此列显示性能计数器的 y 轴范围。 默认情况下,此值会随着样本数据范围的更改而自动调整。 自动调整的范围始终为大于最大值的下一个 10 的幂。 这包括 10 的负数幂。 关系图可以包含各种计数器,其中每个计数器都有不同的范围。 因此,y 轴不会用任何特定范围进行标记,而是用 0‒100 之间的值进行标记,这些值表示每个计数器的总体范围百分比。 例如,对于范围为 1000 的计数器,y 轴上的数据点 60 将对应于该计数器的值 600。

    提示

    可以通过将范围锁定为特定值来关闭自动范围值调整。 当范围锁定后,超过该范围的任何值都会在关系图顶部显示为指定的最大值。 使用“绘图选项”对话框可将范围锁定为特定值。 有关更多信息,请参见如何:为绘图计数器指定绘图选项

  • 计数器:名为“计数器”“实例”、**“类别”“计算机”**的四个列一起对性能计数器进行唯一标识。

  • 颜色: **“颜色”列显示性能计数器的绘制线条的颜色和线型。 使用“绘图选项”对话框,可以更改关系图上性能计数器的颜色或线型。 可以从图例的快捷菜单获得“绘图选项”**对话框。 有关更多信息,请参见如何:为绘图计数器指定绘图选项

  • 统计信息: “最小值”“最大值”、**“平均值”“最后一个”**列显示了性能计数器的相应统计信息。 这些值对应于在关系图的可见区域上显示的数据。 例如,如果放大运行的某个区域,则图例统计信息将仅反映缩放区域的值。 “最后一个”列是性能计数器在最近完成的采样间隔内的值。

    提示

    仅当负载测试正在运行时,“最后一个”列才会显示在负载测试分析器的图例中。

    有关更多信息,请参见如何:放大负载测试结果中的关系图的区域

在图例中选择某一项可实现以下操作:

  • 允许从图例和关系图中移除该项。 右击该项并选择**“删除”,或按“删除”**键。

  • 在关系图上突出显示绘制线条。

  • 让数据网格显示所选项的数据。

  • 可以访问计数器的**“绘图选项”**对话框。

提示

可以单击负载测试分析器工具栏中的“关系图选项”下拉列表按钮,然后选择“显示图例”以显示或隐藏与关系图视图关联的“图例”面板。

有关更多信息,请参见使用关系图视图图例分析负载测试

将关系图数据导出到 Microsoft Excel

可以使用工具栏上的**“将关系图数据导出到 Excel”**按钮将关系图数据导出到 Microsoft Excel。

提示

也可以使用“将关系图数据导出到 Excel”按钮的下拉列表来选择“将关系图数据导出到测试(.CSV)”[Export Graph Data to Test (.CSV)]

如果要使用导出的数据进行报告,则建议您改为使用内置报告功能。 有关更多信息,请参见报告负载测试结果以比较测试或进行趋势分析

下图是导出到 Microsoft Excel 的关系图数据的示例。

包含导出的关系图数据的 Microsoft Excel

含导出的关系图数据的 Microsoft Excel

有关更多信息,请参见如何:将关系图数据导出到 Microsoft Excel

表视图

已完成的测试或以前运行的测试

正在运行的负载测试

主题适用 主题适用

负载测试分析器中的表视图

表视图

若要以表的形式显示负载测试结果,请单击负载测试工具栏上的**“表”。 每个表都显示在一个面板中,表名显示在下拉列表的顶部。 若要在面板中显示不同的表,请从列表中选择不同的表名。 一次最多可显示四个水平表面板。 通过使用“面板”**下拉列表工具栏按钮,可以在不同的面板布局之间切换。 通过表视图,可以用表格形式来查看负载测试性能计数器。 有关更多信息,请参见在负载测试分析器的表视图中分析负载测试结果

下面的表可能会出现在表视图中:

  • 测试表

  • 代理表

  • 错误表

  • 页表

  • 请求表

  • SQL 跟踪表

  • 测试详细信息表

  • 阈值表

  • 事务表

收集百分点数据

有些负载测试表可能包含一些附加列,其中包含基于网络仿真而分成若干个组的百分比数据和响应时间。 默认情况下,不收集这些数据。 若要收集这些数据,请在负载测试编辑器中的**“运行设置”节点下,选择要更改的特定运行设置节点。 在“属性”窗口中,对于“计时详细信息存储”属性,选择“StatisticsOnly”“AllIndividualDetails”**。 有关更多信息,请参见包括计时详细信息以收集百分比数据的注意事项。

测试表

测试表

**“测试”**表显示了在负载测试过程中运行的各个 Web 性能测试和单元测试的信息。 该表按测试和方案列出测试,因为一个测试可以包含在许多方案中。 **“测试”**表还包含运行测试的次数、测试通过或未通过的次数、每秒钟进行的测试数以及运行测试所需的时间量。

代理表

仅当负载测试使用测试控制器和测试代理时,才会显示**“代理”**表。 有关更多信息,请参见使用测试控制器和测试代理在多台测试计算机之间分发负载测试

代理表

**“代理”**表显示了在负载测试运行期间使用的代理的列表。 **“代理”表包含代理所测试的请求数以及这些请求中的失败请求数。 此外,“代理”**表还包含代理所测试的负载测试测试组合中的测试数以及这些测试中的失败测试数。

错误表

错误表

在**“错误”表中,“计数”列可能会显示为链接,如前所示。 若要进一步分析错误信息,可以通过打开“负载测试错误”**对话框来单击错误链接。 将显示与所选计数器相关的所有错误。 错误链接会出现在以下表中:

  • 请求表和代理表   单击**“Failed Requests”**的错误链接可启动“错误”对话框,该对话框会显示与特定请求关联的所有错误。

  • 测试表   单击“Failed Tests”的错误链接可启动“错误”对话框,该对话框会显示与特定测试关联的所有错误。

  • 错误表   单击“Error Count”的错误链接可启动“错误”对话框,该对话框会显示与特定错误类型/错误子类型关联的所有错误。

    提示

    若要查看在负载测试中发生的所有错误,请在错误表中单击“总计”的“计数”列中的链接。

在单击性能计数器上的错误链接时,“负载测试错误”对话框会显示错误信息以进行响应。 该对话框会每行显示一个错误,并显示由负载测试收集的常规错误信息。

“负载测试错误”对话框

“负载测试错误”对话框

如果向右滚动“错误”对话框,则可以看到**“堆栈”列和“详细信息”列中的链接。 堆栈链接会打开“错误堆栈跟踪”**对话框,该对话框提供了有用的调试信息。

“错误堆栈跟踪”对话框

“错误堆栈跟踪”对话框

**“负载测试错误”对话框中的“详细信息”列可能具有“测试日志”**链接,这些链接可帮助隔离负载测试中的错误。 例如,单击某个 Web 性能测试请求错误会打开 Web 性能测试的结果,并突出显示该请求错误。

来自链接的 Web 请求错误

页表

在查看运行后结果时,**“页”**表中会提供其他统计信息。

页表

负载测试运行设置包含“计时详细信息存储”属性,可以将该属性设置为“仅统计信息”或“所有的详细信息”。 选择这些值之一会使负载测试除了对采样间隔内的页平均时间进行典型平均之外,还会存储每个页执行的结果。

在收集各个页统计信息时,运行后结果的**“页”**表会包含其他列。 这些列包含基于网络仿真分成若干个组的百分比数据和页响应时间。

有关更多信息,请参见如何:使用负载测试分析器在负载测试中查看网页响应时间

请求表

“表视图”请求表

**“请求”**表显示负载测试期间发出的各个请求的详细信息。 其中包括所有 HTTP 请求以及相关请求(如图像)。 **“请求”**表按测试和方案列出请求,因为一个请求可以包含在许多测试和方案中。

SQL 跟踪表

仅当查看运行后结果时,才会显示**“SQL 跟踪”**表。

SQL 跟踪表

**“SQL 跟踪”**表显示了 SQL 跟踪的结果。 此表仅在负载测试完成后、并且在测试期间使用了 SQL 跟踪的情况下才可用。 有关更多信息,请参见如何:使用 SQL 跟踪表查看负载测试中的 SQL 跟踪数据

测试详细信息表

详细信息表

**“测试详细信息”表显示了负载测试的测试组合中所包含的测试的详细信息。 这些详细信息包括测试名称、测试所在的方案、测试开始时间、运行测试所用的时间长短以及指示测试是否通过的测试结果。 如果测试未通过,则“详细信息”**列中出现一个链接。 您可以单击该链接以进入 Web 性能测试编辑器,其中突出显示了未通过的请求。

阈值表

阈值表

**“阈值”**表显示了在负载测试运行期间发生的阈值规则冲突的列表。 有关更多信息,请参见关于负载测试中的阈值规则 使用负载测试分析器分析负载测试中的阈值规则冲突

事务表

事务表

**“事务”**表显示负载测试运行期间发生的事务的列表。 有关更多信息,请参见如何:向 Web 性能测试添加事务

“添加/移除列”对话框

对于某些表,虽然所有计数器都可用,但是仅显示可用列的子集。 可以使用“添加/移除列”对话框来选择要为特定表显示的列集。 “添加/移除列”对话框可通过任何表上的弹出菜单获得。 下图显示了“请求”表的“添加/移除”对话框。

向请求表中添加列

计数器面板

已完成的测试或以前运行的测试

正在运行的负载测试

主题适用 主题适用

计数器面板显示在关系图视图和表视图中。 计数器面板显示了在负载测试期间收集的所有性能计数器的结构化视图。 可以通过单击负载测试分析器工具栏上的**“显示计数器面板”**来显示或隐藏计数器面板。

计数器以树结构进行组织,其中叶节点是可以绘图的性能计数器实例。

计数器面板提供以下功能:

  • 传达阈值冲突信息。

  • 选择计数器进行绘图。

  • 在负载测试运行期间收集的所有性能计数器的结构化树视图,其中包含以下主要分支:

    • 整体   包含每个测试代理和整个负载测试的性能计数器数据摘要。

    • 方案名称   性能计数器树中使用负载测试方案名称标记的分支包含与特定负载测试方案关联的所有负载测试计数器实例。 大多数负载测试计数器都嵌套在方案分支中。

      方案分支包含 Web 性能测试节点。 Web 性能测试节点包含页、请求和事务节点。 此结构中的任何叶节点都是可以添加到关系图的性能计数器。

    • 计算机   包含按计算机分组的所有非负载测试计数器实例。 对于与在当前所选测试设置“角色”部分中指定的负载测试控制器关联的每台计算机,计算机分支都包含一个对应节点。 有关更多信息,请参见使用测试控制器和测试代理在多台测试计算机之间分发负载测试

      每个计算机节点都包含从该计算机收集的一组性能计数器类别。 类别包含计数器,而计数器包含性能计数器实例名称。

    • 错误   包含负载测试期间检测到的所有错误。 错误节点包含特定于不同类型错误的若干个子类别错误节点。 例如,异常和 HTTP 错误。

计数器面板中的方案名称节点

计数器面板的方案名称节点
  1. 与负载测试的 Scenario1 关联的所有性能计数器都出现在此节点下。

  2. 某个方案的所有测试都位于该方案节点下。 标签指示测试名称。

  3. 测试节点下的叶节点是计数器实例名称与测试名称相同的负载测试测试用例计数器。 此计数器是 Scenario1 的 IBuyBrowse 的平均测试时间。

  4. 与 Web 性能测试分支关联的所有负载测试页计数器实例。 在此节点处,此处包含与负载测试的 Scenario1 中 IBuyBrowse Web 性能测试的页 Login GET(报告名称)关联的所有负载测试节奏计数器实例。

  5. 页节点下的子节点是负载测试页计数器。

  6. 与 Web 性能测试关联的所有负载测试请求计数器实例都包含在 Web 性能测试分支中。 在此节点处,此处包含与负载测试的 Scenario1 中 IBuyBrowse Web 性能测试的请求 Login GET(报告名称)关联的所有请求计数器实例。

  7. 请求节点下的叶节点是负载测试请求计数器。

  8. 与 Web 性能测试关联的所有负载测试事务计数器实例都包含在 Web 性能测试分支中。 在此节点处,此处包含与负载测试的 Scenario1 中 IBuyBrowse Web 性能测试的事务(名为 Transaction1)关联的所有事务计数器实例。

  9. 事务节点下的叶节点是负载测试事务计数器。

  10. 单元测试节点。

计数器面板中的计算机节点

计数器面板的计算机节点

提示

可以右击某个计数器或右击该计数器的实例,然后选择在关系图或图例上显示该计数器。 上图为“Microsoft 虚拟机故障总线网络适配器”[Microsoft Virtual Machine Failed Bus Network Adapter]的失败实例显示了此操作。

计数器面板中的错误节点

计数器面板的错误节点

在计数器面板中传达阈值冲突

阈值冲突与特定性能计数器关联,并指示性能计数器已超过或低于设置的阈值。 计数器面板中的图标表示阈值冲突。

阈值冲突的图标从失败计数器所在的树节点传播到根。 该图标提醒用户注意可能由于树未展开而在树中不可见的计数器上发生的冲突。 可以在上面的图计数器面板中的计算机节点中看到这种情况。

该图标可以为如下所述的几种图标之一:

没有阈值冲突    无示阈值冲突。

上次间隔中出现严重阈值冲突    在上一个间隔内发生严重阈值冲突。

前一间隔中出现严重阈值冲突    在前面的某个间隔内发生严重阈值冲突。

上次间隔中出现警告阈值冲突    在上一个间隔内发生警告阈值冲突。

前一间隔中出现警告阈值冲突    在前面的某个间隔内发生警告阈值冲突。

在计数器树中,阈值冲突的图标从特定计数器节点向上传播到根节点。 这会提醒您注意可能由于树未展开而在树中不可见的计数器上发生的冲突。

也可以在关系图上显示阈值冲突。 阈值图标显示在关系图上发生阈值冲突的数据点旁边。

在计数器面板中将计数器选择到关系图中

可从计数器窗格为关系图选择性能计数器。 可以使用以下机制之一对性能计数器进行绘图:

  • 右击计数器,然后选择**“在关系图上显示计数器”**。

  • 双击树中的节点。

  • 将节点从树拖放到关系图上。

已向关系图中添加计数器

若要对单个性能计数器绘图,请在树中选择某个叶节点。 这样可唯一地标识所需性能计数器。

若要对一组相关性能计数器进行绘图,请选择快捷菜单选项或从非叶节点拖动。 所选节点的所有子级都将添加到关系图中。

有关更多信息,请参见如何:在负载测试结果中的关系图上添加和删除计数器

性能计数器采样间隔注意事项

基于负载测试的长度,在负载测试运行设置中为**“采样速率”**属性选择一个值。 较小的采样速率(如 5 秒默认值)需要占用负载测试结果数据库中的更多空间。 对于更长的负载测试,增加采样速率会减少收集的数据量。 有关更多信息,请参见如何:为负载测试运行设置指定采样率

下面是有关采样速率的一些准则:

负载测试持续时间

建议的采样速率

< 1 小时

5 秒

1 - 8 小时

15 秒

8 - 24 小时

30 秒

> 24 小时

60 秒

包括计时详细信息以收集百分比数据的注意事项

负载测试编辑器的运行设置中有一个名为**“计时详细信息存储”的属性。 如果启用了“计时详细信息存储”**属性,则在负载测试过程中执行每个测试、事务和页所需的时间都将存储在负载测试结果储存库中。 这使得 90% 和 95% 的数据显示在负载测试分析器的“测试”、“事务”和“页”表中。

可通过两种方法来启用运行设置属性中的**“计时详细信息存储”属性:“StatisticsOnly”“AllIndividualDetails”。 无论采用哪个选项,所有单个测试、页和事务均会计时,且根据单个计时数据来计算百分比数据。 它们的区别是,使用“StatisticsOnly”选项时,在计算完百分比数据之后,将立即从储存库中删除单个计时数据。 删除数据可以减少使用计时详细信息时储存库中所需的空间量。 但是,高级用户可能需要使用 SQL 工具以其他方式来处理计时详细信息数据。 如果是这样,则应使用“AllIndividualDetails”选项,以便计时详细信息数据可用于该处理。 此外,如果将属性设置为“AllIndividualDetails”**,则您可以在负载测试运行结束后,使用负载测试分析器中的虚拟用户活动图来分析虚拟用户活动。 有关更多信息,请参见详细信息视图。

提示

在 Visual Studio 的早期版本(包括 Microsoft Visual Studio 2005 和 Visual Studio 2008)中,使用了“计时详细信息存储”属性的“所有的详细信息”设置。 但是,有两个重要差别:首先,“所有的详细信息”设置以前不是默认设置。 其次,访问此信息的唯一方式是使用 SQL 查询。

负载测试结果储存库中存储计时详细信息数据所需的空间可能会非常大,尤其是对于运行时间较长的负载测试。 另外,在负载测试结束时将此数据存储到负载测试结果储存库中所需的时间也较长,因为在负载测试完成执行之前此数据一直存储在负载测试代理上。 负载测试完成时,数据将存储到储存库中。 默认情况下,将启用**“计时详细信息存储”属性。 如果这对您的测试环境来说成为问题,则您可能需要将“计时详细信息存储”设置为“无”**。

有关更多信息,请参见如何:为负载测试运行设置指定计时详细信息存储属性

详细信息视图

已完成的测试或以前运行的测试

正在运行的负载测试

主题适用 主题不适用

负载测试分析器中的详细信息视图

详细信息视图

详细信息视图显示了虚拟用户活动图,该图用于直观地分析各虚拟用户在负载测试期间所执行的操作。 使用虚拟用户活动图,可以查看用户活动的模式和负载模式,关联失败的测试或速度缓慢的测试,还可以查看具有其他虚拟用户活动的请求。 虚拟用户活动图还有助于确定 CPU 使用率峰值、每秒请求数谷值以及在这些峰值和谷值期间运行的是哪些测试或页面。

提示

在运行要对其使用虚拟用户活动详细信息图的负载测试之前,必须使用负载性能测试编辑器来验证“计时详细信息存储”属性是否设置为“AllIndividualDetails”选项。 有关更多信息,请参见包括计时详细信息以收集百分比数据的注意事项和如何:将负载测试配置为收集完整详细信息,以便在测试结果中启用虚拟用户活动

详细信息图例面板

详细信息图例面板

详细信息图例面板显示在虚拟用户活动图中。 使用详细信息图例窗格,可以基于多种不同条件来筛选测试、页和事务。 例如,可以从视图中移除某些测试或移除所有成功的测试,或者移除因某些故障而失败的测试。 还可以移除没有日志的所有测试。

可以突出显示失败的测试,以红色显示所有失败的测试。 还可以突出显示具有测试日志的测试。 具有日志的测试将显示为绿色。

筛选结果面板

筛选结果面板

筛选结果面板显示在虚拟用户活动图中。 筛选结果面板可以按以下方式进行筛选:

  • “仅显示含日志的结果”   仅显示具有关联测试日志的测试结果。

  • “显示成功结果”   显示成功的结果。

  • “显示包含错误的结果”   显示包含可以帮助调试的错误的结果。

使用数据和诊断附件来补充负载测试分析

您可以查看在测试设置中指定的受支持诊断和数据适配器的详细信息,您选择的这些诊断和数据适配器曾在运行负载测试时使用。 有关更多信息,请参见如何:为分布式负载测试创建测试设置如何:使用负载测试分析器查看数据和诊断附件

可以通过单击工具栏上的**“查看数据和诊断附件”**按钮来查看数据和诊断适配器详细信息。 例如,如果负载测试在测试设置中配置了系统信息适配器,则可以查看在运行负载测试时使用过的计算机的系统信息。

“选择诊断数据适配器附件”对话框

“选择诊断数据适配器附件”对话框

另一个示例是,负载测试可以在测试设置中包括 IntelliTrace 适配器,从而您可以打开 IntelliTrace“摘要”页。

负载测试的 IntelliTrace 摘要

IntelliTrace 摘要

有关更多信息,请参见使用测试设置来设置计算机和收集诊断信息使用 IntelliTrace 进行调试

通过在测试中的 Web 应用程序中包括 ASP.NET 探查器性能报告来补充负载测试分析

使用 Visual Studio 高级专业版中包含的性能会话工具,开发人员可以衡量、评估并解决应用程序代码中与性能有关的问题。 有关以下内容的更多信息性能会话工具的更多信息,请参见使用分析工具对应用程序性能进行分析

可以通过单击工具栏上的**“查看探查器性能报告”**按钮来查看 ASP.NET 性能报告。

Web 应用程序性能会话摘要报告

Web 应用程序性能会话数据

有关更多信息,请参见 如何:对 Web 应用程序运行性能会话

提示

应考虑在活动测试设置中使用 ASP.NET 探查器诊断和数据适配器,而不是在 Web 应用程序中使用探查器会话。 但是,ASP.NET 探查器诊断和数据适配器不支持分析 Cassini。 有关更多信息,请参见 如何:运行包含 Web 性能测试并收集 ASP.NET 探查器数据的负载测试.

使用 Microsoft Excel 报告负载测试结果以进行测试比较或趋势分析

可以生成基于两个或更多测试结果的 Microsoft Excel 负载测试报告。 负载测试报告分为两种:

  • 运行比较   这种方式会创建一组报告,它们使用表和条形图比较两个负载测试结果的数据。

  • 趋势   可基于两个或更多负载测试结果生成趋势分析。 其结果以折线图显示,但可从数据透视表获得数据。

提示

也可以通过从摘要视图、关系图视图和表格视图复制和粘贴数据来手动创建 Microsoft Word 报告。 有关更多信息,请参见如何:使用 Microsoft Word 手动创建负载测试性能报告.

这两种报告都可用于与利益干系人共享性能数据,并说明系统的整体性能和运行状况是变好还是变差。

报告定义存储在负载测试数据库中。 保存报告后,报告定义保存在数据库中,以后可以重用。

此外,可将电子表格文件与利益干系人共享,以便利益干系人不必连接到数据库就可以查看报告。

下图是显示处理(更新购物车)速度的下降和(% 处理器)计数器的退化之间的相关性的报告示例。 它指向应用程序代码(而不是数据库或网络)中的潜在问题,并且很适合使用 ASP.NET 探查器进行诊断。

应用程序代码中的潜在问题

生成 Excel 报告的方法有两种:一种是在负载测试分析器中使用工具栏中的**“创建 Excel 报告”按钮,另一种是在 Excel 中使用 Office 功能区的“负载测试”选项卡中的“负载测试报告”**选项。

提示

如果向负载测试中添加注释,注释将出现在 Excel 报告中。 有关更多信息,请参见将注释附加到负载测试结果。

默认情况下,已为报告选择以下计数器。 不过,可以在生成负载测试报告向导中选择更多计数器以添加到报告中。

  • LoadTest:Page - Avg.(负载测试:页 - 平均) 页面时间

  • LoadTest:Request - Requests/Sec(负载测试:请求 - 每秒请求数)

  • LoadTest:Scenario - User Load(负载测试:方案 - 用户负载)

  • LoadTest:Test - Avg.(负载测试:测试 - 平均) Test Time(测试时间)

  • LoadTest:Test - Total Tests(负载测试:测试 - 总测试次数)

  • LoadTest:Transaction - Avg.(负载测试:事务 - 平均) Response Time(响应时间)

  • LoadTest:Transaction - Total Transactions(负载测试:事务 - 事务总数)

  • Memory - Available MBytes(内存 - 可用的兆字节数)

  • Network Interface - Bytes Total/sec(网络接口 - 每秒总字节数)

  • PhysicalDisk - %Idle Time(物理磁盘 - 空闲时间百分比)

  • Process - %Processor Time(进程 - 处理器时间百分比)

  • Processor %Processor Time(处理器 - 处理器时间百分比)

将生成带有以下选项卡的 Microsoft Excel 报告:

  • 目录 - 显示负载测试报告名称,并提供一个目录,其中包含指向报告的各选项卡的链接。

  • 运行 - 提供有关正在比较报告中的哪两个运行的详细信息。

  • 测试比较 - 提供有关正在比较的两个运行之间的性能衰退和改进的条形图详细信息。

  • 页面比较 - 提供测试运行中的各个页面上两个运行之间的条形图和百分比性能比较数据。

  • 计算机比较 - 提供基于所使用的计算机的两个运行之间的比较数据。

  • 错误比较 - 比较在两个运行中所遇到的错误类型以及出现的次数。

提示

为了获得更好的报告,支持更多报告的负载测试和 Web 性能测试提供了几个属性。 页面请求具有两个呈现在报告中的属性:“目标”和“报告名称”。 将针对目标来报告页面响应时间,并且在报告中将使用报告名称而不是 URL。 在负载测试“运行设置”的“管理计数器集”下面,“计算机标记”属性呈现在报告计算机名称中。 若要在报告中描述特定计算机的角色,这非常有用。

有关更多信息,请参见报告负载测试结果以比较测试或进行趋势分析

运行负载测试的注意事项

在负载测试分析器中分析数据的重要组成部分是确保负载测试在运行之前进行了正确配置。 因此,在运行负载测试之前,应确认已对负载测试进行正确配置,以符合测试要求和目的。

提示

运行负载测试之前,最好要确保负载测试中的所有 Web 性能测试和单元测试在自身运行时都将通过。 通过在测试浏览器窗口或测试视图窗口或 Web 性能测试编辑器中运行测试,可以对相应测试进行验证。 对于绑定了数据的 Web 性能测试,请运行所有数据值。

选择适当的负载模式。

为负载测试的每种方案选择一个适合测试目标的负载模式:

  • 常量负载模式

  • 分级负载模式

  • 基于目标的负载模式

选择负载测试结果存储区的位置。

负载测试结果存储区注意事项

正确设置性能计数器采样间隔。

性能计数器采样间隔注意事项

考虑包括计时详细信息以收集百分比数据

包括计时详细信息以收集百分比数据的注意事项

考虑启用 SQL 跟踪

考虑启用 SQL 跟踪

确定是否需要其他测试代理。

不要使测试代理过载

有关更多信息,请参见负载测试的注意事项

负载模式注意事项

为负载测试的每种方案选择适合测试目标的以下负载模式之一:

有关更多信息,请参见编辑负载模式以便为虚拟用户活动建模

使用常量负载模式

常量负载模式用于在负载测试运行期间运行相同的用户负载。 请慎用用户计数较高的常量负载模式;这种情况下,在负载测试开始时,可能对服务器施加不合理和不现实的要求。 例如,如果负载测试包含一个 Web 测试,而该测试以对某个主页的请求开始,您将负载测试设置为 1000 个用户的常量负载,则该负载测试将尽可能快地把前 1000 个请求提交到该主页。 这不是对实际网站访问的现实模拟。 若要防止这一问题,请考虑使用逐步增加至 1000 个用户的分级负载模式,或在负载测试运行设置中指定预热期。 有关更多信息,请参见配置方案启动延迟

使用分级负载模式

分级负载模式可用于在负载测试运行时增加服务器上的负载,这样您就能够看到性能如何随着用户负载的增加而发生变化。 例如,若要查看用户负载增加到 2000 个用户时服务器的性能如何,您可以使用具有以下属性的分级负载模式来运行一个 10 小时的负载测试:

  • 初始用户计数:100

  • 最大用户计数:2000

  • 单步持续时间(秒):1800

  • 单步负载增加时间(秒):20

  • 单步用户计数:100

这些设置可使负载测试在 100、200、300 直至 2000 个用户的用户负载下运行 30 分钟(1800 秒)。 请特别注意**“单步负载增加时间”**属性,因为在这些属性中,它是新建负载测试向导中唯一没有提供的属性。 通过该属性,可从某一级逐渐增加到下一级(例如,从 100 个用户增加到 200 个用户)而不是立即增加。 在此示例中,用户负载将在 20 秒内从 100 个用户增加到 200 个用户。 即每秒增加 5 个用户。 有关更多信息,请参见如何:为分级负载模式指定单步负载增加时间属性

提示

Visual Studio 旗舰版允许对本地负载测试运行使用多达 250 个虚拟用户。 如果负载测试需要更多虚拟用户,或者您希望使用远程计算机,则必须购买 Visual Studio Load Test Virtual User Pack 2010。 可以在购买 Visual Studio 旗舰版的地方购买 Visual Studio Load Test Virtual User Pack 2010。 有关更多信息,请参见 使用测试控制器管理负载测试的虚拟用户许可证为负载测试配置测试控制器和测试代理

使用基于目标的负载模式

如果需要确定在达到一定程度的资源使用状况之前系统可以支持的用户数,基于目标的负载模式十分有用。 如果已经确定了系统中的限制性资源(即瓶颈),此选项效果最佳。 例如,如果您知道系统中的限制性资源是数据库服务器上的 CPU,并且您希望了解该数据库服务器 CPU 的占用率大约为 75% 时可以支持的用户数,则可以使用基于目标的负载模式,目标是将性能计数器“%Processor Time”的值保持在 70% 和 80% 之间。

警告

如果某些其他资源限制了系统的吞吐量,则可能永远不会达到由基于目标的负载模式指定的目标,并且用户负载将继续增加,直到达到为“最大用户计数”指定的值。

这通常不是所需要的负载。 因此,请谨慎选择基于目标的负载模式中的性能计数器,并且还要明智决定“最大用户计数”的值,对用户负载设置上限。

负载测试结果存储区注意事项

安装 Visual Studio 旗舰版时,会设置负载测试结果存储区以使用安装在计算机上的 SQL Express 的实例。 SQL Express 限制为使用最大 4 GB 磁盘空间。 如果要在较长时间内运行许多负载测试,则应该考虑配置负载测试结果存储区以使用完整 SQL Server 产品的实例(如果可用)。 有关更多信息,请参见管理负载测试结果储存库中的负载测试结果

考虑启用 SQL 跟踪

为了诊断 SQL 性能问题,负载测试编辑器的运行设置中提供了一组属性,通过这些属性,可在负载测试持续期间启用 Microsoft SQL Server 的 SQL 跟踪功能。 如果启用了 SQL 跟踪功能,则可在负载测试分析器中的 SQL 跟踪表中显示 SQL 跟踪数据,该表在表视图中。

SQL 跟踪在运行负载测试时启动单独的 SQL 事件探查器会话,是一种相当易用的替代方法。 若要启用此功能,运行负载测试的用户必须拥有执行 SQL 跟踪所需的 SQL 权限,并且必须指定用于写入跟踪文件的目录。 该目录通常是共享目录。 完成负载测试时,跟踪文件数据将导入到负载测试储存库中,并与所运行的负载测试关联,以便稍后可以随时使用负载测试分析器进行查看。

有关更多信息,请参见收集 SQL 跟踪数据,以监视和提高负载测试中的性能

不要使测试代理过载

如果测试代理计算机的 CPU 使用率超过 75% 或可用物理内存不到 10%,请向负载测试添加更多代理以确保代理计算机不会成为负载测试的瓶颈。

有关更多信息,请参见如何:指定要在负载测试方案中使用的测试代理使用测试控制器和测试代理在多台测试计算机之间分发负载测试

请参见

概念

在负载测试中为计算机指定计数器集

管理负载测试结果储存库中的负载测试结果

其他资源

使用负载测试分析器分析负载测试结果