如何:运行包含 Web 性能测试并收集 ASP.NET 探查器数据的负载测试

本主题适用于:

Visual Studio 旗舰版

Visual Studio 高级专业版

Visual Studio 专业版 

Visual Studio 学习版

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

可以在测试设置中配置 ASP.NET 探查器数据和诊断适配器,该测试设置将用于包含针对 ASP.NET Web 应用程序使用的 Web 性能测试的负载测试。 若要分析网站,还必须在 Internet Information Server (IIS) 计算机上安装测试代理。 此代理不会生成负载,而仅是作为收集代理。

若要收集您的 ASP.NET Web 应用程序的 ASP.NET 分析数据,必须完成或验证以下内容:

创建或选择要分析的 ASP.NET Web 应用程序

修改测试设置以包含 ASP.NET 探查器数据和诊断适配器

  1. 可以将负载测试的测试设置配置为允许使用测试代理和测试控制器跨多台计算机分布负载测试。 有关更多信息,请参见 如何:为分布式负载测试创建测试设置. 还可以将测试设置配置为使用诊断数据适配器,这些适配器指定从 Visual Studio 2010 旗舰版运行负载测试时要收集的各种数据类型或者对测试计算机有何影响。 此外,诊断数据适配器可用于在测试计算机上模拟潜在瓶颈或减少可用系统内存。 可以使用 ASP.NET 探查器诊断数据适配器来收集 ASP.NET 探查器信息。 此诊断数据适配器收集 ASP.NET 应用程序的性能数据。

    提示

    此诊断数据适配器不能用于通过 Microsoft 测试管理器运行的测试。 只能对使用网站的负载测试使用 ASP.NET 探查器诊断适配器,这需要 Visual Studio 2010 旗舰版。

    使用 ASP.NET 探查器诊断数据适配器,可以在运行负载测试时从应用程序层收集 ASP.NET 探查器数据。 不能对较长的负载测试(例如,运行时间超过一小时的负载测试)运行探查器,因为探查器文件会很大,可能达到几百兆。 应使用 ASP.NET 探查器来运行较短的负载测试。 这样做仍具有深入诊断性能问题的优点。

    提示

    ASP.NET 探查器诊断数据适配器可以分析 IIS 进程。 因此,它对开发 Web 服务器不起作用。 若要在负载测试中分析网站,必须在运行 IIS 的计算机上安装测试代理。 测试代理不会生成负载,而仅是作为收集代理。 有关更多信息,请参见 安装和配置 Visual Studio 代理以及测试和生成控制器.

  2. 从 Microsoft Visual Studio 旗舰版打开将用于负载测试的测试设置,该负载测试包含用于 ASP.NET Web 应用程序的 Web 性能测试。 选择**“数据和诊断”**页。 有关更多信息,请参见 创建测试设置以从 Visual Studio 中运行自动测试.

    配置测试设置以使用 ASP.NET 探查器

    配置 ASP.NET 探查器的测试设置

  3. 选择用于收集 ASP.NET 探查器数据的角色。

  4. 选择**“ASP.NET 探查器”以启用 ASP.NET 分析数据集合,然后单击“配置”**。

    此时将显示配置 ASP.NET 分析数据收集的对话框。

  5. 在**“探查器采样间隔”**中键入一个值,该值指示在获取 ASP.NET 分析样本之间要等待的非暂停 CPU 时钟周期数。

  6. 若要启用层交互分析,请选择**“启用层交互分析”**。

    层交互分析将对发送给每个项目(例如 MyPage.aspx 或 CompanyLogo.gif)的 Web 服务器的请求数以及处理每个请求所需的时间进行计数。 此外,层交互分析还将收集在页请求期间使用的 ADO.NET 连接,以及在处理该请求期间执行了多少查询和存储过程调用。

    将收集两个不同的计时信息集:

    • 处理每个 Web 请求的计时信息(最小值、最大值、平均值和总计值)。

    • 执行每个查询的计时信息(最小值、最大值、平均值和总计值)。

    有关更多信息,请参见 如何:使用测试设置为负载测试配置 ASP.NET 探查器.

在 Internet Information Server 上安装测试代理

  1. 在 IIS 服务器计算机上,加载“Microsoft Visual Studio Agents”CD,然后启动位于根文件夹中的 setup.exe。

    警告

    若要安装测试代理,您必须是计算机上“Administrators”安全组的成员。

    您所添加的启动测试代理服务或进程的用户必须是此代理的测试控制器计算机上 TeamTestAgentService 组的成员。

    提示

    也可以选择在第三台计算机上安装测试代理。 一个测试控制器可以控制不同计算机上的多个代理。

    将显示**“Visual Studio Agents 2010”**页。

  2. 单击**“安装 Visual Studio Test Agent 2010”**。

    将显示**“Microsoft Visual Studio Test Agent 2010 安装”**页。

  3. 单击**“下一步”**。

    将显示**“开始”**页。

  4. 查看**“许可条款”,选择“我已阅读并接受许可条款”(如果同意),然后单击“下一步”**。

    将显示**“选项”**页。

  5. (可选)单击**“浏览”**以选择其他安装文件夹。

  6. 单击**“安装”**以开始安装。

    将显示**“正在安装组件”页。 测试代理安装需要安装性能工具,以便在运行测试时收集性能数据。 安装完成时,将显示“完成页”**。

  7. 若要配置已安装的测试代理,请选择**“立即配置测试代理”。 然后单击“配置”**以启动测试代理配置工具。

    将显示**“配置测试代理”**对话框。

  8. 单击**“运行选项”**。

  9. 在**“将测试代理作为以下内容运行”下,选择“服务”**。

  10. 单击**“下一步”**。

  11. 输入在测试代理作为服务启动时的用户详细信息。

    1. 在**“用户名称”**中键入名称。

    2. 在**“密码”**中键入密码。

      警告

      若要使用 ASP.NET 探查器数据和诊断适配器,用户帐户必须是“Administrators”安全组的成员。

      提示

      用户帐户不支持空密码。

  12. 若要向安装的测试控制器注册此代理,请选择**“向测试控制器注册”。在“向以下测试控制器注册此测试代理”**中,键入在上面安装测试控制器的计算机的名称,后面可以跟一个冒号 (:) 和要在网络环境中使用的自定义端口号。 例如,键入 Controller1:<端口号>。

    提示

    默认端口号为 6901,不必指定。

  13. 若要应用所做更改,请单击**“应用设置”**。

    将显示**“配置摘要”**对话框。 该对话框显示配置测试代理所需的每个步骤的状态。

    提示

    安装过程中的最后一个步骤将重置网络适配器。 这可能会导致网络短时间中断。 这是预期的行为。

  14. 若要关闭**“配置摘要”对话框,请单击“关闭”。 然后单击“关闭”**以关闭测试代理配置工具。

    有关更多信息,请参见 演练:在负载测试中使用测试控制器和测试代理安装和配置 Visual Studio 代理以及测试和生成控制器, 为负载测试配置测试控制器和测试代理如何:指定要在负载测试方案中使用的测试代理

验证 IIS 计算机在应用程序池中使用正确的 .NET Framework 版本

  • 若要部署 ASP.NET 4 Web 应用程序,必须在目标服务器上向 IIS 注册 ASP.NET 4。 此外,还必须将所部署到的 IIS 网站的应用程序池分配给 .NET Framework 4。 如果未满足上述任一条件,则当您尝试部署时可能会看到下列错误之一:

    • The default .NET 4.0 application pool does not exist or the application could not be added. Please verify that ASP.NET 4.0 is installed on this machine.

    • The application pool that you are trying to use has the 'managedRuntimeVersion' property set to 'v2.0'. This application requires 'v4.0'.

    在安装 Visual Studio 时将安装 ASP.NET 4。 但是,安装过程不会自动向 IIS 注册 ASP.NET 4,并且不会自动将现有 IIS 网站分配给 ASP.NET 4 应用程序池。 若要纠正此错误,请向 IIS 注册 ASP.NET,并将目标 IIS 网站的应用程序池设置为该包所需的 .NET Framework 版本。 有关如何注册 IIS 的信息,请参见 ASP.NET IIS 注册工具 (Aspnet_regiis.exe)

在 IIS 计算机上部署 ASP.NET Web 应用程序

  1. 必须先创建用于指定发布方式的发布配置文件,然后才能发布 Web 应用程序。 您可以创建多个具有不同设置的配置文件。 在您单击**“发布”**按钮之前,您可选择具有要使用的设置的配置文件。 发布配置文件设置适用于活动生成配置(例如,“调试”或“发布”)。 以下过程说明如何创建配置文件。

    重要说明重要事项

    不能将生产 IIS 计算机用于测试目的。

  2. 在**“生成”菜单中,单击“发布 项目名称”**。

    将显示**“发布 Web”对话框,其中,Web 部署作为“发布方法”**下拉列表的默认值,如下图所示。

    “发布配置文件”对话框

  3. 在**“发布配置文件”**框中,输入新配置文件的名称。

  4. 在**“发布方法”下拉列表中,选择“Web 部署”“FTP”“文件系统”“FPSE”。 (如果选择“FTP”,则还可以使用“FTPS”**。)

    警告

    如果使用“Web 部署”选项,则 IIS 服务器必须先安装 Web 部署工具,然后才能部署 ASP.NET Web 应用程序。 可以从这里下载 Web 部署工具:Web Deployment Tool(Web 部署工具)。

    **“发布 Web”对话框的下半部分将改为显示适用于所选发布方法的字段。 下图显示了选择“FTP”**时相应的对话框。

    选择了 FTP 的“发布 Web”对话框

  5. 在**“目标位置”**框中,输入一个与所选的发布方法对应的值:

    • 对于**“FTP”**,输入目标 FTP 站点的 URL(例如 ftp://contoso.com)。

    • 对于**“文件系统”**,输入目标文件夹地址(例如 \\servername\folder)。

    • 对于 FPSE,请输入目标网站的 URL(例如 https://contoso.com)。

  6. 如果选择了**“FTP”**发布方法,请执行以下步骤之一:

    1. 如果不需要被动模式,请清除**“被动模式”**复选框。 如果客户端计算机位于防火墙后面,则通常需要被动模式。 有关更多信息,请参见 部署 FTP 的网站项目

    2. 如果无需登录,请选中**“匿名登录”复选框。 否则,请在“用户名”“密码”**框中输入凭据。

    3. 如果需要保存密码,以便每次发布时不必重新输入它,请选中**“保存密码”**复选框。

      密码将以加密形式保存在项目文件夹的 .xml 文件中。

  7. 单击**“保存”**按钮保存配置文件。

  8. 一键式发布旨在使迭代发布变得简单。 配置设置和配置文件之后,可以单击一个按钮。 Visual Studio 随后将您的项目文件部署到目标服务器上。

    在**“发布 Web”对话框中,或在“Web 一键式发布”[Web One-Click Publish]工具栏中,单击“发布”**按钮。

    提示

    如果看不到“Web 一键式发布”[Web One-Click Publish]工具栏,请右击主菜单并选择“Web 一键式发布”[Web One-Click Publish]

    首次单击**“发布”按钮时,Visual Studio 将复制您在“打包/发布 Web”选项卡上指定的所有文件。 如果再次单击“发布”按钮,则仅部署更改内容。 例如,假定您的站点有 100 个网页,并且您又添加了一个网页。 当您再次单击“发布”**时,仅将新的网页复制到目标服务器。

    有关以下内容的更多信息如何部署 ASP.NET Web 应用程序的更多信息,请参见ASP.NET Web 应用程序项目部署概述, ASP.NET 部署内容映射如何:使用不带 Web 部署的一键式发布来部署 Web 应用程序项目

创建将用来对您要分析的 ASP.NET Web 应用程序的网站进行测试的 Web 性能测试

  1. 在 IIS 服务器上成功部署 ASP.NET Web 应用程序后,可以为其创建 Web 性能测试了。 首先打开一个测试项目。 有关如何创建测试项目的更多信息,请参见如何:为自动测试创建和配置测试项目

  2. 在**“测试”菜单上,单击“新建测试”**。

    随即出现**“添加新测试”**对话框。

  3. 选择**“Web 性能测试”**。

  4. 在**“测试名称”框中键入适当的名称。 不要更改 .webtest 扩展名。 完成上述操作后,单击“确定”**。

    将在一个新的 Internet Explorer 实例中打开**“Web 性能测试记录器”**。

  5. 转到 Internet Information Server 上包含您要分析的 ASP.NET Web 应用程序的网站。

  6. (可选)单击 ASP.NET Web 应用程序中的更多链接以记录其他页。

    Visual Studio 会在记录 Web 性能测试的同时将其显示在**“Web 性能测试编辑器”**中。 停止记录之后,可以编辑测试。

  7. 单击**“停止”**以停止记录并关闭 Internet Explorer。

  8. 在**“文件”菜单上,单击“保存”**以保存最新记录的 Web 性能测试。

    有关更多信息,请参见 如何:使用 Web 性能测试记录器创建新的 Web 性能测试创建和编辑 Web 性能测试编辑测试组合以指定在负载测试方案中包括哪些 Web 性能、单元和编码的 UI 测试

创建在测试组合中使用您的 Web 性能测试的负载测试

  1. 打开一个测试项目。

    使用向导创建负载测试

  2. 在**“解决方案资源管理器”中,右击测试项目节点,单击“添加”,然后单击“负载测试”**。

    提示

    系统将创建一个具有默认名称 LoadTestn 的负载测试,其中 n 是下一个可用的编号。

    - 或 -

    在**“解决方案资源管理器”中,右击测试项目节点,单击“添加”,然后单击“新建测试”。 在“添加新测试”对话框中,选择“负载测试”模板,键入测试的名称,再单击“确定”**。

  3. 将启动显示有**“欢迎”页的“新建负载测试向导”**。

  4. 单击**“测试组合”**。

  5. 在**“新建负载测试向导”“测试组合”页上,单击“添加”将您的 Web 性能测试添加到负载测试方案中。 在“添加测试”对话框的“可用测试”下,为您的 ASP.NET Web 应用程序选择 Web 性能测试,单击右箭头将其移至“选定的测试”下,然后单击“确定”**。

  6. 通过调整**“分发”列中的滑块或直接在“%”**列中键入百分比值来选择首选的测试组合。 有关更多信息,请参见关于负载测试的组合控件

    在启动新建负载测试向导后,可使用不同的页面来指定负载测试设置。 可以在下列主题中找到过程信息:

    如何:使用“新建负载测试向导”创建用于对用户活动、测试、浏览器和网络建模的方案

    如何:使用“新建负载测试向导”创建负载模式

    如何:使用“新建负载测试向导”创建文本组合模型

    如何:使用“新建负载测试向导”创建测试组合

    如何:使用“新建负载测试向导”创建网络组合

    如何:使用“新建负载测试向导”创建浏览器组合

    如何:使用“新建负载测试向导”创建计数器集

    如何:使用“新建负载测试向导”创建运行设置

运行负载测试并查看 ASP.NET 分析数据

  1. 以通常的方式启动负载测试。 从该测试项目中打开一个负载测试。

  2. 负载测试编辑器中打开负载测试后,单击工具栏上的**“运行”**按钮。 负载测试开始运行。

    - 或 -

    在**“测试视图”窗口中选择测试。 右击测试并选择“运行选定内容”**。 负载测试开始运行。

    - 或 -

    在**“测试列表编辑器”窗口中,通过选中测试所在行内的复选框来选择测试,然后单击“运行选中的测试”**按钮。 负载测试开始运行。

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

    在负载测试完成后,负载测试分析器会以显示负载测试摘要的新选项卡式文档的形式显示。

    有关更多信息,请参见负载测试分析器概述

  3. 单击负载测试分析器工具栏上的**“查看探查器性能报告”**按钮以生成并显示 ASP.NET 探查器报告。

    提示

    下图基于通过执行演练:创建简单的 Web 应用程序中的过程而创建的 ASP.NET Web 应用程序。

    ASP.NET 探查器性能报告

    ASP.NET 探查器性能报告

    有关更多信息,请参见 使用分析工具对应用程序性能进行分析

外部资源

视频

  • 链接到视频

请参见

任务

创建测试设置以从 Visual Studio 中运行自动测试

概念

使用测试设置来设置计算机和收集诊断信息

测试应用程序性能和压力

其他资源

运行负载测试

使用测试控制器和测试代理在多台测试计算机之间分发负载测试

ASP.NET 门户网站