负载测试分析器概述
您可以使用负载测试分析器在应用程序中定位瓶颈、识别错误和衡量改进。
可以使用负载测试分析器通过三种方式进行负载测试分析:
在监视正在运行的负载测试时分析负载测试。
在负载测试运行完成后分析负载测试结果。
分析以前运行的负载测试的负载测试结果。
存储在负载测试结果中的数据包含定期从受测计算机收集的性能计数器样本。 有关详细信息,请参阅为负载测试中的计算机指定计数器集和阈值规则。 它还包含错误日志和阈值规则冲突信息,以及由数据收集器收集的数据和详细时间信息。
在负载测试期间收集的性能数据量取决于以下因素:
测试运行的长度
采样间隔
有关详细信息,请参阅如何:为负载测试运行设置指定采样率。
受测计算机的数目
有关详细信息,请参阅使用测试控制器和测试代理在多台测试计算机之间分发负载测试。
收集的计数器的数目
有关详细信息,请参阅为负载测试中的计算机指定计数器集和阈值规则。
配置的数据收集器
有关详细信息,请参阅指定 Visual Studio 测试的测试设置。
日志级别
有关详细信息,请参阅修改负载测试记录设置。
默认情况下,在运行负载测试时,测试控制器会将所有已收集的性能计数器数据保存到数据库。 其他一些数据(如错误详细信息和时间详细信息)将在测试完成后才加载到数据库。 有关详细信息,请参阅管理负载测试结果储存库中的负载测试结果。
要求
- Visual Studio 旗舰版
分析和监视正在运行的负载测试
当运行测试时,将在内存中保留一个可在负载测试分析器中监视的性能计数器数据的压缩集。 为了避免结果内存需求无限增长,将为每个性能计数器最多保留 200 个样本。 这包括横跨当前运行时间的 100 个间距均匀样本,以及最近的 100 个样本。 在运行过程中累积的结果称为“进行中负载测试结果”。
在负载测试分析器中分析正在运行的测试
除经过压缩的性能计数器数据集之外,负载测试分析器还具有以下功能,可用于在运行负载测试期间分析唯一的进行中负载测试结果数据:
状态栏将显示负载测试的状态、已发现的阈值冲突和错误数目以及剩余时间。
负载测试工具栏上的一个按钮可用于停止负载测试。
折叠和滚动模式在关系图上可用。
关系图视图中的“图例”面板或者关系图视图或表视图中的计数器面板可用于添加、删除或修改您要分析的压缩集中的性能计数器的外观。
“概述”面板将显示正在运行的负载测试的配置、要求和测试用例信息。
添加将随负载测试结果一起保存的分析注释。
下表显示了在负载测试运行时,负载测试分析器工具栏启用的功能:
备注
有关负载测试分析器工具栏命令的完整列表,请参阅本主题中的工具栏。
用于正在运行的负载测试的负载测试分析器工具栏命令
工具栏命令 |
描述 |
此主题中的其他信息 |
---|---|---|
停止 |
停止当前运行的测试。 |
|
关系图 |
显示关系图视图(默认视图)。 |
关系图 |
表 |
显示表视图。 |
表 |
显示计数器面板 |
显示或隐藏负载测试性能计数器面板(默认情况下将显示)。 |
显示计数器面板 |
显示概述面板 |
显示或隐藏“概述”面板(默认情况下将显示)。 |
显示概述面板 |
面板下拉控件 |
配置各种面板布局,以显示表和关系图。 |
面板下拉控件 |
恢复默认视图 |
将“关系图”视图中的面板布局重置为默认配置。 |
恢复默认视图 |
添加新关系图 |
当处于“关系图”视图中时,添加新关系图。 |
添加新关系图 |
删除关系图 |
删除关系图视图中的选定关系图。 |
删除关系图 |
关系图选项下拉控件 |
显示或隐藏关系图视图中的图例,并配置关系图的各个方面。 这其中包括水平网格线、最低和最高线和阈值冲突。 |
关系图选项下拉控件
|
添加分析注释 |
添加要与负载测试结果相关联的注释。 |
添加分析注释 |
有关详细信息,请参阅创建和运行负载测试 [重定向]。
概述面板
已完成的测试或以前运行的测试 |
正在运行的负载测试 |
---|---|
概述面板
“概述”面板将显示正在运行的负载测试的配置、要求和测试用例信息。 你可以通过选择负载测试工具栏上的“显示概述面板”来显示或隐藏概述面板。
分析已完成的测试
在负载测试完成之后,负载测试分析器将显示为一个新的选项卡式文档,其中显示了负载测试摘要。 负载测试分析器也可以使用常用的 Visual Studio 窗口操作技巧来停靠或设置为浮动。 窗口的标题由负载测试的名称和测试开始的时间组成,例如 LoadTest2 [1:15 PM]。
已完成的负载测试的负载测试结果中包含定期从受测计算机收集的性能计数器样本和错误信息。 可以在负载测试运行过程中收集大量性能计数器样本。 所收集的性能数据量取决于测试运行长度、采样间隔、受测计算机数目、收集的计数器数目、配置的数据收集以及日志记录级别。 对于大型负载测试,所收集的性能数据量很容易达到数千兆字节。 有关详细信息,请参阅使用测试控制器和测试代理在多台测试计算机之间分发负载测试和Considerations for Load Testing。
在测试运行时,测试控制器会将收集的所有性能计数器数据输出到数据库。 其他数据(如计时详细信息和错误详细信息)会在测试完成时加载到该数据库中。 将从数据库加载已完成的测试的性能数据,并供负载测试分析器分析。 从负载测试结果数据库加载的已完成测试结果名为 post-run load test result,或仅简单地名为 load test result。
负载测试分析器具有以下独特功能,这些功能可用于在负载测试完成之后分析运行后负载测试结果数据:
将从数据库加载完整的性能计数器数据集。 你可以通过使用关系图视图中的计数器面板或图例面板添加、删除或修改性能计数器的外观。
百分位数据可用。
最少/最多线条数在关系图上可用。
缩放模式在关系图上可用。 此视图允许你分析任何时间范围内数据。
摘要视图允许你快速分析负载测试结果。
详细视图允许你分析负载测试的虚拟用户活动。
表视图允许你查看表格形式的已收集信息。 这包括来自某些数据收集器类型的数据。
通过负载测试分析器工具栏上的数据和诊断附件命令,你可以打开并分析从数据收集器收集的其他数据(如 IntelliTrace 或系统信息)。
View performance report提供了关于负载测试的 ASP.NET 探查器性能数据报告。
Exporting graph data to Microsoft Excel 允许你将数据从关系图视图导出到 Microsoft Excel 电子表格或 .csv 文件。
负载测试分析器的工具栏支持负载测试分析器中用于处理负载测试结果的下列功能:
备注
有关负载测试分析器工具栏命令的完整列表,请参阅本主题中的工具栏。
用于负载测试的负载测试分析器工具栏命令
工具栏命令 |
描述 |
此主题中的其他信息 |
---|---|---|
摘要 |
显示摘要视图(默认视图)。 |
摘要 |
关系图 |
显示关系图视图。 |
关系图 |
表 |
显示表视图。 |
表 |
显示计数器面板 |
显示或隐藏负载测试性能计数器面板(默认情况下将显示)。 |
显示计数器面板 |
面板下拉控件 |
配置各种面板布局,以显示表和关系图。 |
面板下拉控件 |
恢复默认视图 |
将“关系图”视图中的面板布局重置为默认配置。 |
恢复默认视图 |
添加新关系图 |
当处于“关系图”视图中时,添加新关系图。 |
添加新关系图 |
删除关系图 |
删除关系图视图中的选定关系图。 |
删除关系图 |
关系图选项下拉控件 |
显示或隐藏关系图视图中的图例,并配置关系图的各个方面。 这其中包括水平网格线、最低和最高线和阈值冲突。 |
关系图选项下拉控件
|
显示缩放控件 |
在关系图上显示或隐藏滑块缩放控件,你可以使用它来调整水平和垂直网格定义的值。 |
显示缩放控件 |
同步水平缩放控件 |
打开或关闭自动水平缩放同步。 当自动水平缩放同步打开时,你应用于关系图的任何缩放也将应用于关系图视图上的任何其他关系图。 |
同步水平缩放控件 |
添加分析注释 |
添加要与负载测试结果相关联的注释。 |
添加分析注释 |
创建 Excel 报告 |
创建 Microsoft Excel 报告,以并行地分析两个负载测试结果,或跟踪趋势分析。 |
创建 Excel 报告 |
“将关系图数据导出到 Excel”下拉控件 |
将关系图数据导出为 Microsoft Excel 或采用逗号分隔值 (.CSV) 格式的文件。 |
“将关系图数据导出到 Excel”下拉控件 |
查看数据和诊断附件 |
打开“选择诊断数据适配器附件”对话框以选择适配器进行分析。 例如,你可以选择一个 IntelliTrace 适配器,选择“确定”,并打开在负载测试中使用的测试代理的 IntelliTrace 摘要。 |
查看数据和诊断附件 |
分析以前完成的负载测试
在从负载测试编辑器运行负载测试时,负载测试结果会自动打开,并且正在运行的负载测试将显示在负载测试分析器中。 当您从命令行运行负载测试时,您必须手动访问负载测试结果。 有关详细信息,请参阅创建和运行负载测试 [重定向]。
要分析以前运行的负载测试的负载测试结果,必须先通过使用负载测试编辑器工具栏中的“打开和管理结果”按钮检索负载测试结果。 有关详细信息,请参阅如何:访问负载测试结果以进行分析。
与已完成的负载测试运行一样,负载测试分析器将显示为一个新的选项卡式文档。 窗口的标题是负载测试的名称后跟该测试的开始时间,例如 LoadTest1 [12:40 PM]。
提示
你可以同时打开多个负载测试分析器,以比较不同的负载测试结果。
向负载测试结果附加注释
已完成的测试或以前运行的测试 |
正在运行的负载测试 |
---|---|
可以到通过选择工具栏中的“添加分析注释”向负载测试结果添加注释。 可以添加将与负载测试结果一起永久保存的描述信息和分析注释。
你输入的描述信息也将显示在“描述”列中,该列与“负载测试编辑器”的“打开和管理测试结果”对话框中的负载测试关联。 有关详细信息,请参阅如何:访问负载测试结果以进行分析。 此外,在为负载测试结果创建 Excel 报表时也会显示注释。 有关详细信息,请参阅报告负载测试结果以比较测试或进行趋势分析。
向负载测试结果添加注释
有关详细信息,请参阅[已停用] 如何:使用负载测试分析器向正在运行的负载测试添加注释和如何:使用负载测试分析器在分析完成的负载测试时添加注释。
负载测试分析器工具栏
负载测试分析器工具栏
负载测试分析器的工具栏提供了不同的命令,具体取决于负载测试是正在运行还是已完成运行。 某些命令可能在工具栏上已禁用,这取决于你目前正在使用的视图。
负载测试分析器工具栏提供了以下命令:
摘要显示摘要视图(在负载测试完成后显示)。
关系图显示关系图视图。
关系图显示关系图视图。
详细信息显示虚拟用户活动图表(在负载测试完成后显示)。
显示计数器面板显示或隐藏负载测试性能计数器面板。
面板下拉控件配置各种面板布局,以显示表格和关系图(在“关系图”视图和“表”视图中启用)。
恢复默认视图将“关系图”视图中的面板布局重置为默认配置。
添加新关系图向“关系图”视图添加新关系图。
删除关系图删除“关系图”视图中的选定关系图。
关系图选项下拉控件显示或隐藏关系图视图中的图例,并配置关系图的各个方面。 这其中包括水平网格线、最低和最高线和阈值冲突。
显示缩放控件在关系图上显示或隐藏滑块缩放控件,你可以使用它来调整水平和垂直网格定义的值。
同步水平缩放控件打开或关闭自动水平缩放同步功能。 当自动水平缩放同步打开时,你应用于关系图的任何缩放也将应用于关系图视图上的任何其他关系图。
添加分析注释添加要与负载测试结果相关联的注释。
创建 Excel 报告创建 Microsoft Excel 报告,以并行地分析两个负载测试结果,或跟踪趋势分析。
“将关系图数据导出到 Excel”下拉控件将关系图数据导出为 Excel 或采用逗号分隔值 (.CSV) 格式的文件
查看探查器性能报告将打开与负载测试结果关联的 ASP.NET 探查器报告,以执行进一步的分析。
查看数据和诊断附件将打开“选择诊断数据适配器附件”对话框以选择要进行分析的适配器。 例如,你可以选择一个 IntelliTrace 适配器,选择“确定”,并打开在负载测试中使用的测试代理的 IntelliTrace 摘要。
停止将结束当前运行的测试(当正在运行负载测试时显示)。
显示概述面板可显示或隐藏“概述”面板(当正在运行负载测试时显示)。
负载测试分析器状态栏
负载测试分析器状态栏将显示正在运行或已完成的测试的状态。 将在负载测试状态栏上显示以下信息:
状态图标将指示正在运行或已完成的负载测试的状态。 例如,在发生任何错误或阈值冲突时将显示警告图标。
状态消息将显示一条文本消息,指出负载测试的当前状态,例如“测试正在进行”、“测试已完成”、“正在从数据库读取计数器样本”。
阈值冲突计数会提供一个链接,以显示为此负载测试运行报告的阈值冲突总数。 选择此链接将显示表视图,其数据面板中将显示阈值冲突表。
备注
只有在发生第一个阈值冲突后才会出现此链接。
错误计数 提供了一个链接,以显示为该负载测试运行报告的错误总数。 选择此链接将显示表视图,其数据面板中将显示阈值冲突表。
备注
只有在发生第一个错误后才会出现此链接。
剩余时间将显示当前正在运行的测试的剩余时间量。 测试完成后,此标签会消失。
测试进度表示当前正在运行的测试已完成的时间百分比,或者开始从负载测试结果数据库加载计数器样本时估计的进度时间量金额。
在负载测试分析器中查看数据
当你使用负载测试分析器查看正在运行的测试或已完成的负载测试的结果时,可显示以下窗格。 此窗格将为你提供各种不同的数据分析方式:
“摘要”视图
“关系图”视图
“表”视图
“详细信息”视图
“摘要”视图
已完成的测试或以前运行的测试 |
正在运行的负载测试 |
---|---|
负载测试分析器中的摘要视图
运行负载测试后,可以查看负载测试摘要以快速了解结果。 负载测试摘要以紧凑、易读的格式提供主要结果。 您还可以打印负载测试摘要, 以便于在向利益干系人传达结果时使用。
提示
您可以打印负载测试摘要,方法是打开摘要的快捷菜单并选择“打印”。可以通过在摘要的快捷菜单中选择“打印预览”来预览打印内容。还可以直接从预览屏幕上进行打印。
负载测试摘要分为几个小节。 初始部分显示在摘要内容的顶部,并将始终可见。 当你查看负载测试摘要时,将首先显示以下项目:
有关测试运行的信息
整体结果
关键统计信息:最慢的 5 个页面
关键统计信息:最慢的 5 个测试
关键统计信息:最慢的 5 个 SQL 操作
备注
只有已在负载测试中启用 SQL 跟踪功能之后才会显示“SQL 操作”部分。有关详细信息,请参阅[已停用] 收集 SQL 跟踪数据,以监视和改进负载测试性能。
下列项目显示在负载测试摘要的结束位置,并且可以折叠以节省空间:
测试结果
页结果
事务结果
测试中系统的资源
控制器和代理资源
错误
有关测试运行的信息
测试运行信息部分中包含有关测试运行的一般信息。 这包括测试名称、开始和结束时间以及运行测试的控制器。 此节还包含有关运行的可选说明,这些说明是您在运行负载测试时添加的。
整体结果
总体结果部分中包含测试的汇总结果。 这包括每秒请求数、失败请求总数、平均响应时间和平均页面时间。
关键统计信息:最慢的 5 个页面
最慢页面部分中包含负载测试中速度最慢的 5 个页面。 此节显示每个页面的 URL 和平均页面加载时间。 这些页面按降序列出。 您可以选择某个页面的 URL 以打开**“页”**表和查看该页面的更多详细信息。 有关详细信息,请参阅如何:使用负载测试分析器在负载测试中查看网页响应时间。
关键统计信息:最慢的 5 个测试
最慢测试部分中包含负载测试中速度最慢的 5 个测试。 此节显示每个测试的测试名称和平均测试时间。 这些测试按降序列出。 您可以选择某个测试的名称以打开**“测试”**表和查看该测试的更多详细信息。 有关详细信息,请参阅在负载测试分析器的表视图中分析负载测试结果和错误。
关键统计信息:最慢的 5 个 SQL 操作
如果已在负载测试中启用 SQL 跟踪功能,则最慢查询部分中包含负载测试中速度最慢的 5 个查询。 此节显示每个测试的操作名称和持续时间。 持续时间以微秒 (SQL Server 2005) 或毫秒(SQL Server 2000 和更早版本)为单位显示。 这些测试按持续时间以降序列出。 您可以选择某个操作的名称以打开**“SQL 跟踪”**表,并查看该操作的更多详细信息。 有关详细信息,请参阅The SQL Trace Data Table。
测试结果
测试结果部分列出了负载测试中的所有测试和方案。 它将显示测试名称、方案、运行次数、失败次数以及平均测试时间。 您可以选择某个测试的名称以打开**“测试”**表和查看该测试的更多详细信息。 有关详细信息,请参阅在负载测试分析器的表视图中分析负载测试结果和错误。
备注
您可以通过选择部分标题左侧的箭头折叠或展开此部分。
页结果
页面结果部分列出了负载测试中的所有网页。 将显示 URL、方案、测试名称、平均页面时间和计数。 您可以选择某个页面的 URL 以打开**“页”**表和查看该页面的更多详细信息。 有关详细信息,请参阅如何:使用负载测试分析器在负载测试中查看网页响应时间。
备注
您可以通过选择部分标题左侧的箭头折叠或展开此部分。
事务结果
事务结果部分列出了负载测试中的所有事务。 将显示事务名称、方案、名称、响应时间、已用时间和计数。 您可以选择某个事务的名称以打开**“事务”**表,并查看该事务的更多详细信息。 有关详细信息,请参阅在负载测试分析器的表视图中分析负载测试结果和错误。
备注
您可以通过选择部分标题左侧的箭头折叠或展开此部分。
测试中系统的资源
测试资源部分下面的系统列出了组成目标计算机集、且正在为其生成负载的计算机。 除代理或控制器之外,这些计算机还包括您从中收集计数器集的任何计算机。 将显示计算机名、处理器时间百分比和可用内存。 您可以选择某个计算机名称以打开**“测试中的系统”**图形,并查看不同时间的资源使用量。 有关详细信息,请参阅在负载测试分析器的关系图视图中分析负载测试结果。
备注
您可以通过选择部分标题左侧的箭头折叠或展开此部分。
控制器和代理资源
控制器和代理资源部分列出了用于运行测试的计算机。 将显示计算机名、处理器时间百分比和可用内存。 您可以选择某个计算机名称以打开**“控制器和代理”**图形,并查看不同时间的资源使用量。 有关详细信息,请参阅在负载测试分析器的关系图视图中分析负载测试结果。
备注
您可以通过选择部分标题左侧的箭头折叠或展开此部分。
错误
错误部分列出了在负载测试过程中发生的所有错误。 将显示错误类型和子类型、计数和最新消息。 您可以选择某个错误以打开**“错误”**表,并查看该错误的更多详细信息。 有关详细信息,请参阅如何:使用计数器面板分析错误。
备注
您可以通过选择部分标题左侧的箭头折叠或展开此部分。
“关系图”视图
已完成的测试或以前运行的测试 |
正在运行的负载测试 |
---|---|
负载测试分析器中的关系图视图
要将负载测试结果显示为图表,请在负载测试工具栏上选择“关系图”。 将在面板中显示每个图,并在下拉列表顶部显示关系图名称。 若要在面板中显示不同的关系图,请从列表中选择不同的关系图名称。 一次最多可显示四个关系图面板。 您可以通过使用“面板”下拉控件工具栏在不同面板布局之间切换,通过使用“恢复默认视图”按钮恢复默认视图。
系统提供了一些内置的关系图。 它们包括用于常见负载测试情况的计数器信息。 可以通过选择关系图的计数器来自定义内置的关系图。 为此,可使用计数器器面板的弹出菜单中的“在关系图上显示计数器”选项。 此外,也可以通过工具栏中的“添加新关系图”按钮或者计数器面板弹出菜单中的“添加关系图”创建自己的关系图。 您也可以通过工具栏中的“删除关系图”删除不再需要用于分析负载测试的任何关系图。
有关详细信息,请参阅下列主题:
绘图模式
将以下列三种模式之一显示负载测试分析器的关系图视图中的关系图:
折叠模式是在运行负载测试期间负载测试分析器中的默认关系图模式。 折叠模式用于正在运行的负载测试。 这将减少须在内存中保存的数据量,但仍会显示整个运行期间的性能计数器的趋势。
滚动模式将在您查看运行中的负载测试的结果时可用。 滚动关系图是用于显示最新数据点的可选视图。 使用滚动关系图只能查看测试中最新的 100 个数据间隔。
当您从数据库中查看已完成的负载测试的结果时,可使用缩放模式。 可以调整水平 x 轴缩放以分析负载测试过程中的特定时间段。 可以调整垂直 y 轴缩放,以分析关系图中包括的性能计数器的特定值范围。
更改绘图模式
使用工具栏上的“关系图选项”下拉控件,在运行负载测试期间,在折叠模式和滚动模式之间切换。 为折叠模式选择“用关系图表示整个运行的数据”,为滚动模式选择“仅用关系图表示最新的数据”。
折叠模式选择(用关系图表示整个运行的数据)
折叠模式是运行负载测试期间负载测试分析器中的默认模式。 折叠模式用于正在运行的负载测试。 这将减少须在内存中保存的数据量,但仍会显示整个运行期间的性能计数器的趋势。 虽然在运行期间,会因为折叠而从内存中丢弃数据,但是在负载测试期间收集的每个数据样本将存储在负载测试数据库中。 在运行完成后,可以通过Zooming Mode访问这些数据。
折叠关系图最多可显示性能计数器的 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 的值,用于表示每个计数器的总范围百分比。 例如,对于一个范围为 1,000 的计数器,y 轴上的数据点 60 将对应于计数器值 600。
备注
可以通过将范围锁定为特定值来关闭自动范围值调整。当范围被锁定时,超过该范围内的任何值将显示为您在图形顶部指定的最大值。使用“绘图选项”对话框可将范围锁定为特定值。有关详细信息,请参阅如何:为绘图计数器指定绘图选项。
**计数器:**四列分别名为“计数器”、“实例”、“类别”和“计算机”,它们一起可唯一地标识性能计数器。
**颜色:“颜色”列显示性能计数器的绘制线条的颜色和线型。 使用“绘图选项”**对话框,可以更改关系图上性能计数器的颜色或线型。 可从图例的快捷菜单中访问“绘图选项”对话框。 有关详细信息,请参阅如何:为绘图计数器指定绘图选项。
统计信息:“最小”、“最大”、“平均”和“最新”列数显示了性能计数器的相应统计信息。 这些值对应于在关系图的可见区域上显示的数据。 例如,如果你缩放到一个运行的区域,图例统计信息将仅反映缩放区域的值。 “最后一个”列是性能计数器针对最近完成的采样间隔的值。
备注
只有当负载测试正在运行时,才会在负载测试分析器的图例中显示“最新”列数。
有关详细信息,请参阅如何:放大负载测试结果中的关系图的区域。
通过在图例中选择项目可实现:
允许从图例和关系图中移除该项。 右键单击项目并选择“删除”,或者按“删除”键。
在关系图上突出显示绘制线条。
让数据网格显示所选项的数据。
让您访问计数器的**“绘图选项”**对话框。
提示
你可以选择负载测试分析器工具栏中的“关系图选项”下拉按钮,并选择“显示图例”,以显示或隐藏与关系图视图关联的“图例”面板。
有关详细信息,请参阅使用关系图视图图例分析负载测试。
将图形数据导出到 Microsoft Excel
你可以通过使用工具栏中的“将图表数据导出到 Excel”按钮将图形数据导出到 Microsoft Excel。
备注
也可以使用“将图表数据导出到 Excel”按钮上的下拉控件选择“将图表数据导出到测试 (.CSV)”。
如果你要使用导出的数据来生成报告,建议你改为使用内置的报告功能。 有关详细信息,请参阅报告负载测试结果以比较测试或进行趋势分析。
下图是一个用于说明如何将图形数据导出到 Microsoft Excel 的示例。
包含导出的关系图数据的 Microsoft Excel
有关详细信息,请参阅如何:将关系图数据导出到 Microsoft Excel。
“表”视图
已完成的测试或以前运行的测试 |
正在运行的负载测试 |
---|---|
负载测试分析器中的表视图
要将负载测试结果显示为表,请在负载测试工具栏上选择“表”。 将在面板中显示每个表,并在下拉列表顶部显示表名称。 要在面板中显示不同的表,请从列表中选择一个不同的表名。 最多可同时显示四个水平表面板。 你可以使用**“面板”下拉控件**工具栏按钮在不同的面板布局之间切换。 使用表视图,可以表格形式查看负载测试性能计数器。 有关详细信息,请参阅在负载测试分析器的表视图中分析负载测试结果和错误。
以下表可能会出现在表视图中:
测试表
代理表
错误表
页面表
请求表
SQL 跟踪表
“测试详细信息”表
阈值表
事务表
收集百分点数据
一些负载测试表可以包含额外的列,其中包括基于网络模拟功能细分到各个组中的百分位数据和响应时间。 默认情况下,不收集这些数据。 要收集这些数据,请在负载测试编辑器的“运行设置”节点下,选择要更改的特定运行设置节点。 在**“属性”窗口中,对于“计时详细信息存储”属性,选择“StatisticsOnly”或“AllIndividualDetails”**。 有关更多信息,请参阅在包括时间详细以收集百分位数据时的注意事项。
测试表
“测试”表显示在负载测试期间运行的各个 Web 性能测试和单元测试的相关信息。 该表按测试和方案列出测试,因为一个测试可以包含在许多方案中。 “测试”表中还包括已运行的测试次数、通过测试或失败测试的次数、每秒发生的测试次数以及运行测试所需的时间量。
代理表
只有在你的负载测试使用了测试控制器和测试代理时,才会显示“代理”表。 有关详细信息,请参阅使用测试控制器和测试代理在多台测试计算机之间分发负载测试。
“代理”表将显示已在负载测试运行期间使用的代理的列表。 “代理”表中包含代理已测试的请求数,以及其中的失败请求数。 此外,“代理”表中包含代理已测试的负载测试组合中的测试数,以及其中的失败测试数。
错误表
在“错误”表中,“计数”列可显示为一个链接,如先前所示。 要进一步分析错误信息,可通过打开“负载测试错误”对话框选择一个错误链接。 与选定计数器相关的所有错误都将显示出来。 “错误”链接出现在以下表中:
请求表和代理表 选择“失败请求”对应的错误链接将启动“错误”对话框,其中显示与特定请求相关的所有错误。
测试表 选择“失败测试”对应的错误链接将启动“错误”对话框,其中显示与特定测试相关的所有错误。
错误表 选择“错误计数”对应的错误链接将启动“错误”对话框,其中显示与特定错误类型/错误子类型相关的所有错误。
提示
要查看在负载测试中发生的所有错误,请在错误表的“计数”列中选择对应于“总计”的链接。
“负载测试错误”对话框将显示错误信息,以响应在性能计数器上选择错误链接的操作。 该对话框会在每行中显示一个错误,以及负载测试所收集的常规错误信息。
“负载测试错误”对话框
如果你将“错误”对话框滚动到右侧,可能会在“堆栈”列和“详细信息”列中显示链接。 “堆栈”链接将打开“错误堆栈跟踪”对话框,其中提供有用的调试信息。
“错误堆栈跟踪”对话框
“负载测试错误列”对话框的“详细信息”中可能具有“测试日志”链接,可帮助你在负载测试中隔离错误。 例如,选择一个 Web 性能测试请求错误将打开 Web 性能测试的结果,并突出显示请求错误。
页面表
当你查看运行后结果时,可在“页面”表中看到更多统计信息。
负载测试运行设置中包含“计时详细信息存储”属性,该属性可设置为“仅统计信息”或“所有的详细信息”。 如果选择下列值之一,除采样间隔中的典型页面执行时间平均值之外,还将使负载测试为每个页面执行存储结果。
当收集单个页面的统计信息时,后运行结果的“页面”表将包含额外的列。 这些列中包含根据网络模拟功能细分到各个组中的百分位数据和响应时间。
有关详细信息,请参阅如何:使用负载测试分析器在负载测试中查看网页响应时间。
请求表
**“请求”**表显示负载测试期间发出的各个请求的详细信息。 其中包括所有 HTTP 请求以及相关请求(如图像)。 “请求”表按过测试和方案列出请求,因为一个请求可包括在许多测试和方案中。
SQL 跟踪表
仅当你查看运行后结果时,“SQL 跟踪”表才可用。
“SQL 跟踪”表显示 SQL 跟踪操作的结果。 此表仅在负载测试完成后、并且在测试期间使用了 SQL 跟踪的情况下才可用。 有关详细信息,请参阅The SQL Trace Data Table。
“测试详细信息”表
“测试详细信息”表显示负载测试的测试组合中包含的测试的信息。 详细信息中包括测试名称、测试所在的方案、测试开始时间、测试运行时间长度以及用于表示测试通过或失败的测试结果。 如果测试未通过,则**“详细信息”**列中出现一个链接。 你可以选择该链接以进入 Web 性能测试编辑器,其中突出显示了未通过的请求。
阈值表
“阈值”表将显示在负载测试运行期间发生的阈值规则冲突的列表。 有关详细信息,请参阅使用负载测试分析器分析负载测试中的阈值规则冲突。
事务表
**“事务”**表显示负载测试运行期间发生的事务的列表。 有关详细信息,请参阅[已停用] 如何:向 Web 性能测试添加事务。
“添加/删除列”对话框
对于一些表,虽然所有列都可用,但仅会显示可用列的子集。 你可以使用“添加/删除列”对话框选择为特定表显示的一组列。 可通过任何表的弹出菜单访问“添加/删除列”对话框。 下图显示了用于“请求”表的“添加/删除”对话框。
计数器面板
已完成的测试或以前运行的测试 |
正在运行的负载测试 |
---|---|
“计数器”面板显示在关系图视图和表视图中。 计数器面板显示在负载测试期间收集的所有性能计数器的结构化视图。 你可以通过选择负载测试分析器工具栏上的显示计数器面板来显示或隐藏计数器面板。
计数器以树结构进行组织,其中叶节点是可以绘图的性能计数器实例。
计数器面板提供以下功能:
传达阈值冲突信息。
选择计数器进行绘图。
在负载测试运行期间收集的所有性能计数器的结构化树视图,其中包含以下主要分支:
总体 包含每个测试代理以及整个负载测试的性能计数器数据汇总。
方案名称 性能计数器树中标记有负载测试方案名称的分支包含与特定负载测试方案关联的所有负载测试计数器实例。 大多数负载测试计数器都嵌套在方案分支中。
方案分支包含 Web 性能测试节点。 Web 性能测试节点包含页、请求和事务节点。 此结构中的任何叶节点都是可以添加到关系图的性能计数器。
计算机 包含按计算机分组的所有非负载测试计数器实例。 对于与在当前所选测试设置“角色”部分中指定的负载测试控制器关联的每台计算机,计算机分支都包含一个对应节点。 有关详细信息,请参阅使用测试控制器和测试代理在多台测试计算机之间分发负载测试。
每个计算机节点都包含从该计算机收集的一组性能计数器类别。 类别包含计数器,而计数器包含性能计数器实例名称。
错误 包含在负载测试期间检测到的所有错误。 错误节点包含特定于不同类型错误的若干个子类别错误节点。 例如,异常和 HTTP 错误。
计数器面板中的方案名称节点
|
“计数器”面板中的计算机节点
提示
你可以打开计数器或计数器实例的快捷菜单,然后选择在图形或图例中显示计数器。上图显示了“Microsoft 虚拟机失败总线网络适配器”的失败实例的此信息。
计数器面板中的错误节点
“计数器”面板中的通信阈值冲突
阈值冲突与特定性能计数器关联,并指示性能计数器已超过或低于设置的阈值。 计数器面板中的图标表示阈值冲突。
阈值冲突的图标会从失败的计数器所在的树节点传播到根。 该图标提醒用户注意由于树未展开而可能在树中不可见的计数器上发生的冲突。 这可以在上面的“计数器”面板中的计算机节点图中看到。
该图标可以为如下所述的几种图标之一:
无示阈值冲突。
在上一个间隔内发生严重阈值冲突。
在前面的某个间隔内发生严重阈值冲突。
在上一个间隔内发生警告阈值冲突。
在前面的某个间隔内发生警告阈值冲突。
在计数器树中,阈值冲突的图标从特定计数器节点向上传播到根节点。 这将向你提醒可能不显示在树中(因为树未扩展)的计数器冲突。
也可以在关系图上显示阈值冲突。 阈值图标显示在关系图上发生阈值冲突的数据点旁边。
选择要在计数器面板中绘制的计数器
可从计数器面板中选择关系图的性能计数器。 可使用以下方法之一绘制性能计数器:
打开计数器的快捷菜单,并选择“在关系图上显示计数器”。
双击树中的节点。
将节点从树中拖放到关系图上。
要绘制性能计数器,请在树中选择一个叶节点。 这将唯一地标识所需的性能计数器。
要绘制一组相关的性能计数器,请选择快捷菜单选项或从非叶子节点进行拖动。 所选节点的所有子级将添加到关系图。
有关详细信息,请参阅如何:在负载测试结果中的关系图上添加和删除计数器。
性能计数器采样间隔注意事项
基于负载测试的长度,在负载测试运行设置中为**“采样速率”**属性选择一个值。 较小的采样速率(如 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 记录代码执行来调试应用。
报告负载测试结果以通过 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 个请求提交到该主页。 这不是对实际网站访问的现实模拟。 为了避免这种情况,可以考虑使用分级负载模式以逐渐增加到 1,000 个用户,或在负载测试设置中指定预热时间。 有关详细信息,请参阅配置方案启动延迟。
使用分级负载模式
分级负载模式可用于在负载测试运行时增加服务器上的负载,这样您就能够看到性能如何随着用户负载的增加而发生变化。 例如,若要查看用户负载增加到 2000 个用户时服务器的性能如何,您可以使用具有以下属性的分级负载模式来运行一个 10 小时的负载测试:
初始用户计数:100
最大用户计数:2000
单步持续时间(秒):1800
单步负载增加时间(秒):20
单步用户计数:100
这些设置可使负载测试在 100、200、300 直至 2000 个用户的用户负载下运行 30 分钟(1800 秒)。 此处需特别说明“单步负载增加时间”属性,因为它是“新建负载测试向导”中唯一不可用的属性。 通过该属性,可从某一级逐渐增加到下一级(例如,从 100 个用户增加到 200 个用户)而不是立即增加。 在该示例中,用户负载将在 20 秒内从 100 增加至 200 个用户。 每秒将增加 5 个用户。 有关详细信息,请参阅如何:为分级负载模式指定单步负载增加时间属性。
使用基于目标的负载模式
当需要确定系统在达到某资源利用率程度前可支持的用户数量时,基于目标的负载模式将很有用。 如果已经确定了系统中的限制性资源(即瓶颈),此选项效果最佳。 例如,如果您知道系统中的限制性资源是数据库服务器上的 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 权限,并且必须指定将在其中写入跟踪文件的目录。 目录通常是一个共享。 当负载测试完成后,跟踪文件数据将导入负载测试存储库,并与已运行的负载测试关联,以便可在以后通过负载测试分析器随时进行查看。
有关详细信息,请参阅Q: I’m having some performance issues with SQL data used in my test, can I debug this?。
不使测试代理过载
如果测试代理计算机的 CPU 利用率超过 75%,或可用物理内存小于 10%,则向负载测试添加更多代理,以确保代理计算机不会成为负载测试中的瓶颈。
有关详细信息,请参阅如何:指定要在负载测试方案中使用的测试代理和使用测试控制器和测试代理在多台测试计算机之间分发负载测试。