如何:运行包含 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 分析数据,必须完成或验证以下内容:
Modify Test Settings to Include ASP.NET Profiler Data and Diagnostic Adapter
Verify That the IIS Machine Is Using the Proper .NET Framework Version in the Application Pool
Create a Load Test That Uses Your Web Performance Test in Its Test Mix
创建或选择要分析的 ASP.NET Web 应用程序
必须选择一个要收集其 ASP.NET 分析数据的现有 ASP.NET Web 应用程序,或创建一个应用程序。 有关以下内容的更多信息如何打开现有 ASP.NET Web 应用程序的更多信息,请参见如何:使用 Web 性能测试编辑器编辑现有 Web 性能测试。 有关以下内容的更多信息如何创建可用来测试此概念的 ASP.NET Web 应用程序的更多信息,请参见演练:创建简单的 Web 应用程序。
有关以下内容的更多信息ASP.NET Web 开发的更多信息,请参见 ASP 的开发 Web 应用程序。NET。
修改测试设置以包含 ASP.NET 探查器数据和诊断适配器
可以将负载测试的测试设置配置为允许使用测试代理和测试控制器跨多台计算机分布负载测试。 有关更多信息,请参见 如何:为分布式负载测试创建测试设置. 此外可以将测试设置配置为使用的诊断数据适配器,它指定要收集的数据的各种类型或如何影响测试的计算机在运行负载测试从 Visual Studio 的高级。 此外,诊断数据适配器可用于在测试计算机上模拟潜在瓶颈或减少可用系统内存。 可以使用 ASP.NET 探查器诊断数据适配器来收集 ASP.NET 探查器信息。 此诊断数据适配器收集 ASP.NET 应用程序的性能数据。
备注
此诊断数据适配器不能用于通过 Microsoft 测试管理器运行的测试。您可以使用ASP.NET事件探查器诊断适配器只使用负载测试可以使用的 web 站点,它要求 Visual Studio 特优。
使用 ASP.NET 探查器诊断数据适配器,可以在运行负载测试时从应用程序层收集 ASP.NET 探查器数据。 不能对较长的负载测试(例如,运行时间超过一小时的负载测试)运行探查器,因为探查器文件会很大,可能达到几百兆。 应使用 ASP.NET 探查器来运行较短的负载测试。 这样做仍具有深入诊断性能问题的优点。
备注
ASP.NET 探查器诊断数据适配器可以分析 IIS 进程。因此,它对开发 Web 服务器不起作用。若要在负载测试中分析网站,必须在运行 IIS 的计算机上安装测试代理。测试代理不会生成负载,而仅是作为收集代理。有关更多信息,请参见 安装和配置测试代理和测试控制器.
从 Microsoft Visual Studio 旗舰版打开将用于负载测试的测试设置,该负载测试包含用于 ASP.NET Web 应用程序的 Web 性能测试。 选择**“数据和诊断”**页。 有关更多信息,请参见 创建测试设置以从 Visual Studio 中运行自动测试.
配置测试设置以使用 ASP.NET 探查器
选择用于收集 ASP.NET 探查器数据的角色。
选择 ASP。NET 事件探查器若要启用的集合, ASP.NET的性能分析数据,然后再选择配置。
此时将显示配置 ASP.NET 分析数据收集的对话框。
在**“探查器采样间隔”**中键入一个值,该值指示在获取 ASP.NET 分析样本之间要等待的非暂停 CPU 时钟周期数。
若要启用层交互分析,请选择**“启用层交互分析”**。
层交互分析将对发送给每个项目(例如 MyPage.aspx 或 CompanyLogo.gif)的 Web 服务器的请求数以及处理每个请求所需的时间进行计数。 此外,层交互分析还将收集在页请求期间使用的 ADO.NET 连接,以及在处理该请求期间执行了多少查询和存储过程调用。
将收集两个不同的计时信息集:
处理每个 Web 请求的计时信息(最小值、最大值、平均值和总计值)。
执行每个查询的计时信息(最小值、最大值、平均值和总计值)。
有关更多信息,请参见 如何:使用测试设置为负载测试配置 ASP.NET 探查器.
在 Internet Information Server 上安装测试代理
在 IIS 服务器计算机上,加载“Microsoft Visual Studio Agents”CD,然后启动位于根文件夹中的 setup.exe。
警告
若要安装测试代理,您必须是计算机上“Administrators”安全组的成员。
您所添加的启动测试代理服务或进程的用户必须是此代理的测试控制器计算机上 TeamTestAgentService 组的成员。
备注
也可以选择在第三台计算机上安装测试代理。一个测试控制器可以控制不同计算机上的多个代理。
将显示**“Visual Studio Agents 2012”**页。
选择 Visual Studio 测试代理 2012年安装。
将显示**“Microsoft Visual Studio Test Agent 2012 安装”**页。
选择下一步。
将显示**“开始”**页。
检查许可条款,请选择 我已经阅读并接受许可条款,如果适当的,然后选择 下一步。
将显示**“选项”**页。
(可选)选择浏览选择一个不同的安装文件夹。
选择安装开始安装。
将显示**“正在安装组件”页。 测试代理安装需要安装性能工具,以便在运行测试时收集性能数据。 安装完成时,将显示“完成页”**。
若要配置已安装的测试代理,请选择**“立即配置测试代理”。 然后选择配置**启动测试代理配置工具。
将显示**“配置测试代理”**对话框。
选择运行选项。
在**“将测试代理作为以下内容运行”下,选择“服务”**。
选择下一步。
输入在测试代理作为服务启动时的用户详细信息。
在**“用户名称”**中键入名称。
在**“密码”**中键入密码。
警告
若要使用 ASP.NET 探查器数据和诊断适配器,用户帐户必须是“Administrators”安全组的成员。
备注
用户帐户不支持空密码。
若要向安装的测试控制器注册此代理,请选择**“向测试控制器注册”。在“向以下测试控制器注册此测试代理”**中,键入在上面安装测试控制器的计算机的名称,后面可以跟一个冒号 (:) 和要在网络环境中使用的自定义端口号。 例如,键入 Controller1:<端口号>。
备注
默认端口号为 6901,不必指定。
要应用所做的更改,请选择应用设置。
将显示**“配置摘要”**对话框。 该对话框显示配置测试代理所需的每个步骤的状态。
备注
安装过程中的最后一个步骤将重置网络适配器。这可能会导致网络短时间中断。这是预期的行为。
若要关闭配置摘要 对话框框中,选择 关闭。 然后选择关闭关闭测试代理配置工具。
有关更多信息,请参见 演练:在负载测试中使用测试控制器和测试代理、安装和配置测试代理和测试控制器, 为负载测试配置测试控制器和测试代理和如何:指定要在负载测试方案中使用的测试代理。
验证 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 Registration Tool (Aspnet_regiis.exe)。
在 IIS 计算机上部署 ASP.NET Web 应用程序
必须先创建用于指定发布方式的发布配置文件,然后才能发布 Web 应用程序。 您可以创建多个具有不同设置的配置文件。 选择之前发布按钮,您可以选择具有要使用的设置的配置文件。 发布配置文件设置适用于活动生成配置(例如,“调试”或“发布”)。 以下过程说明如何创建配置文件。
重要
不能将生产 IIS 计算机用于测试目的。
在生成 菜单中,选择 发布项目名称。
将显示**“发布 Web”对话框,其中,Web Deploy作为“发布方法”**下拉列表的默认值,如下图所示。
在**“发布配置文件”**框中,输入新配置文件的名称。
在**“发布方法”下拉列表中,选择“Web 部署”、“FTP”、“文件系统”或“FPSE”。 (如果选择“FTP”,则还可以使用“FTPS”**。)
警告
如果使用“Web 部署”选项,则 IIS 服务器必须先安装 Web 部署工具,然后才能部署 ASP.NET Web 应用程序。可以从这里下载 Web 部署工具:Web Deployment Tool(Web 部署工具)。
**“发布 Web”对话框的下半部分将改为显示适用于所选发布方法的字段。 下图显示了选择“FTP”**时相应的对话框。
在**“目标位置”**框中,输入一个与所选的发布方法对应的值:
对于**“FTP”**,输入目标 FTP 站点的 URL(例如 ftp://contoso.com)。
对于**“文件系统”**,输入目标文件夹地址(例如 \\servername\folder)。
对于 FPSE,请输入目标网站的 URL(例如 https://contoso.com)。
如果选择了**“FTP”**发布方法,请执行以下步骤之一:
如果不需要被动模式,请清除**“被动模式”**复选框。 如果客户端计算机位于防火墙后面,则通常需要被动模式。 有关更多信息,请参见 FTP-Deployed Web Sites。
如果无需登录,请选中**“匿名登录”复选框。 否则,请在“用户名”和“密码”**框中输入凭据。
如果需要保存密码,以便每次发布时不必重新输入它,请选中**“保存密码”**复选框。
密码将以加密形式保存在项目文件夹的 .xml 文件中。
选择保存按钮以保存配置文件。
一键式发布旨在使迭代发布变得简单。 配置设置和配置文件后,您可以选择一个按钮。 Visual Studio 随后将您的项目文件部署到目标服务器上。
在发布站点 对话框中,或在 -选择一个发布 Web 工具栏上,选择发布按钮。
备注
如果您看不到 -选择一个发布 Web 工具栏上,打开主菜单,然后选择 -选择一个发布 Web。
您选择的第一次发布 的按钮,Visual Studio 将复制所有文件中指定的 包/发布 Web 选项卡。 如果您选择发布再次按钮后,只有变更已部署。 例如,假定您的站点有 100 个网页,并且您又添加了一个网页。 当您选择发布 ,只是新的 web 页将被复制到目标服务器。
有关以下内容的更多信息如何部署 ASP.NET Web 应用程序的更多信息,请参见Visual Studio 和 ASP web 应用程序项目部署概述。NET, Visual Studio 和 ASP web 部署内容映射。NET和How to: Deploy a Web Application Project Using One-Choose Publish Without Web Deploy。
创建将用来对您要分析的 ASP.NET Web 应用程序的网站进行测试的 Web 性能测试
在 IIS 服务器上成功部署 ASP.NET Web 应用程序后,可以为其创建 Web 性能测试了。 首先打开一个 Web 性能和负载测试项目。 有关如何创建 Web 性能和加载测试项目的详细信息,请参阅如何:为自动测试创建和配置测试项目。
在测试 菜单中,选择 新测试。
随即出现**“添加新测试”**对话框。
选择**“Web 性能测试”**。
在**“测试名称”框中键入适当的名称。 不要更改 .webtest 扩展名。 完成后,选择确定**。
将在一个新的 Internet Explorer 实例中打开**“Web 性能测试记录器”**。
转到 Internet Information Server 上包含您要分析的 ASP.NET Web 应用程序的网站。
(可选)在 ASP 中选择多个链接。NET web 应用程序记录的其他页。
Visual Studio 会在记录 Web 性能测试的同时将其显示在**“Web 性能测试编辑器”**中。 停止记录之后,可以编辑测试。
选择停止停止录制并关闭 Internet Explorer。
在文件菜单中,选择 保存以保存新记录的 web 性能测试。
有关更多信息,请参见 如何:使用 Web 性能测试记录器创建新的 Web 性能测试、创建和编辑 Web 性能测试和编辑测试组合以指定在负载测试方案中包括哪些 Web 性能、单元和编码的 UI 测试。
创建在测试组合中使用您的 Web 性能测试的负载测试
打开 Web 性能和负载测试项目。
在解决方案资源管理器,打开快捷菜单的 Web 性能和负载测试的项目节点,选择 添加,然后选择 加载测试。
备注
系统将创建一个具有默认名称 LoadTestn 的负载测试,其中 n 是下一个可用的编号。
- 或 -
在解决方案资源管理器,打开快捷菜单的 Web 性能和负载测试的项目节点,选择 添加,然后选择 新测试。 在添加新测试 对话框中,选择 的负载测试 模板,为该测试中,键入一个名称,然后选择 确定。
将启动显示有**“欢迎”页的“新建负载测试向导”**。
选择测试组合。
在测试组合 的页 新建负载测试向导,选择 添加将 Web 性能测试添加到负载测试方案。 在添加测试对话框中,在可用测试,选择用于您的 ASP Web 性能测试。NET web 应用程序,请选择右箭头将其在移动 选定的测试,然后选择 确定。
通过调整**“分发”列中的滑块或直接在“%”**列中键入百分比值来选择首选的测试组合。 有关更多信息,请参见About the Mix Control。
在启动新建负载测试向导后,可使用不同的页面来指定负载测试设置。 可以在下列主题中找到过程信息:
How to: Create a Text Mix Model for a Load Test Using the New Load Test Wizard
运行负载测试并查看 ASP.NET 分析数据
以通常的方式启动负载测试。 从 Web 性能和负载测试项目,请打开负载测试。
负载测试中打开负载测试编辑器,选择 运行工具栏上的按钮。 负载测试开始运行。
有关更多信息,请参见 运行负载测试.
在负载测试完成后,负载测试分析器会以显示负载测试摘要的新选项卡式文档的形式显示。
有关更多信息,请参见负载测试分析器概述。
选择查看事件探查器性能报告来生成和显示 ASP 负载测试分析器工具栏上的按钮。NET 事件探查器报告。
备注
下图基于通过执行演练:创建简单的 Web 应用程序中的过程而创建的 ASP.NET Web 应用程序。
ASP.NET 探查器性能报告
有关更多信息,请参见 使用分析工具对应用程序性能进行分析
请参见
任务
创建测试设置以从 Visual Studio 中运行自动测试