MSDN Library

Windows Azure 中的 Visual Studio 负载测试概述

注:本页面内容可能不完全适用中国大陆地区运营的 Windows Azure服务。如要了解不同地区 Windows Azure 服务的差异, 请参考本网站.

本文说明了负载测试的主要组件。有关该应用程序的体系结构的一般说明,请参阅在 Windows Azure 上运行代理时的负载测试 – 第 1 部分。有关 Visual Studio 中的负载测试的概述,请参阅了解负载测试

note注意
本文档涉及的是一个大致“纯粹”的解决方案。除 Visual Studio 副本之外,负载测试的所有组件都作为 Windows Azure 辅助角色运行。有一种方案可以替代这种“大致纯粹”的方案:即,您在混合环境中运行或承载任何组件的方案。例如,您可能希望在内部运行测试控制器,而代理运行在辅助角色上。或者您希望使用 Windows Azure SQL Database 来存储负载测试数据。换言之,负载测试组件可分布在 Windows Azure 角色、SQL Database 以及内部环境中。有关如何选择和设置这些替代设置的更多文档,请参阅本主题:在混合环境中运行负载测试

优点

在继续介绍概述内容之前,请先了解在 Windows Azure 中使用 Visual Studio 负载测试的一些优点。

进入成本
执行负载测试的成本在最初投资之后将大幅降低。最初的成本来自 Visual Studio Ultimate 以及使用负载测试功能所需的许可证。之后,您需要创建负载测试工具 - Visual Studio 项目。您必须具有 Windows Azure 订阅和功能才能按需部署和运行 Web 和辅助角色。这些成本与硬件拥有成本和所有附带成本保持均衡。(这些成本包括软件、电源、数据中心和负责维护整个系统的人员等成本。)

维护成本
使用此处的过程,您可以创建易于维护的负载测试工具。创建之后,在可预见的将来几乎不需要更新项目。

弹性
很容易修改负载测试以适应不同的应用场景和条件。例如,您可以在 Azure 托管服务器上配置更多数量的辅助角色。每个角色都成为一个可用来增加负载的测试代理。

可重复性
不过,在最初投资之后,您可以根据各种测试目标,只需投入极少的时间和成本即可重新规划负载测试的用途。只需重新配置测试项目,然后在 Windows Azure 上重新部署它。运行该测试,在达到必要的时间后取消部署。根据需要重复该过程。

精确保真
将服务托管在大型数据中心中时,系统的并发性将极大提升(下文会详细介绍并发。)将最终应用程序托管在 Windows Azure 中可为最终部署提供完美保真度。

并发

“并发”定义为系统的一种属性,此时有多个任务同时执行,任务之间还可能交互。限制并发的一个因素是可用的 IP 地址数。系统利用的 IP 地址越多,并发处理的程度越高。通常,可用的地址数取决于 IP 提供商的规模。如果您的服务级别协议级别较高,通常会分配有大量的 IP 地址。但此类协议不常见。但是,将 Windows Azure 用作平台时,您享有使用 Microsoft 数据中心及其资源的优势。数据中心提供大量的 IP 地址。Windows Azure 中的托管服务分配有虚拟 IP 地址。在本主题中,外向 (Internet) 负载平衡器(而不是托管服务)使用这些 IP 地址。提供大量地址是 Microsoft 数据中心的一项优势。还请注意,并不是所有系统都要求较高的并发程度。这只是在测试并发程度高的系统时才有的一项优势。

这种提升的并发能力是在 Windows Azure 上运行负载测试的另一大优势。这种并发程度在大型数据中心之外是极难再现的。

概述

本图演示了负载测试的组件。需要使用 Visual Studio Ultimate 副本来配置负载测试并启动和控制负载测试。Visual Studio 还提供测试结果的图形视图。负载测试组件包括测试控制器、测试代理和待测试系统。测试控制器和代理作为 Windows Azure 辅助角色运行在 Windows Azure 数据中心中。除待测试系统之外,所有负载测试组件都必须属于同一个 Windows Azure Connect 组。这样这些组件才能相互之间以及与 Visual Studio 实例之间顺畅通信。若要创建用来跟踪待测试系统所在计算机上的性能计数器的计数器集,请将这些计算机加入 Windows Azure Connect 组。

基本加载测试配置

负载测试使用若干主要技术。这些技术在负载测试中的功能在本文档下文中介绍。有关所需下载项的完整列表,请参阅 Windows Azure 负载测试的必备组件和安装

Azure 管理门户

使用管理门户来创建和管理用于负载测试的主要结构。具体来说,您将用到以下 Azure 功能:

Azure 托管服务
创建用于运行负载测试应用程序的“托管服务”。该应用程序由两个辅助角色构成。第一个角色承载单个“测试控制器”实例。该控制器支持远程执行负载测试。第二个角色承载单个代理。您可以使用 Azure 的“实例”功能按需创建任意多的代理角色“实例”。有关详细信息,请参阅如何通过增加或减少角色实例数来缩放应用程序

存储帐户
您需要一个 Windows Azure 存储帐户来存储运行在辅助角色上的压缩代码。存储 blob 包含三个 .zip 文件。一个文件包含 SQL Express 安装软件。第二个包含控制器代码。第三个包含代理代码。有关创建存储帐户的详细信息,请参阅如何为 Windows Azure 订阅创建存储帐户

连接组
若要支持在控制器与代理之间通信,请创建连接组。连接功能发挥虚拟专用网的作用,允许控制器执行代理活动。它还允许代理向控制器返回测试结果。连接组还允许您从 Visual Studio 的内部副本运行控制器。有关详细信息,请参阅 Windows Azure Connect 概述

此外,还要向 Azure 门户上载两个 X.509 证书。需要使用这些证书对您内部计算机与 Azure 门户之间的数据流进行身份验证和加密。第一个证书用于支持从 Visual Studio 直接向 Azure“发布”应用程序。该证书在 Azure 术语中称为“管理证书”。第二个证书用于支持内部计算机与 Azure 辅助角色之间的远程桌面连接。该证书在 Azure 术语中称为“服务证书”。

Visual Studio Ultimate

Visual Studio 是开发环境,Visual Studio Ultimate 是唯一支持负载测试功能的版本。有关 Visual Studio 各版本之间的比较,请参阅 Visual Studio 2010 比较。使用 Visual Studio Ultimate,您可以创建测试脚本以便对您的应用程序进行负载测试。

Visual Studio 还具有远程管理控制器的工具。在非 Azure 应用场景中,远程控制器将在另一台计算机上运行。在 Azure 应用场景中,该控制器作为辅助角色运行在云中。

SQL Server 2012 Express Edition

从代理收集和存储数据需要使用数据库。幸运的是,SQL Server 2012 Express 是免费版本,负载测试程序默认使用该版本。只需要将数据库引擎也部署到运行控制器软件的辅助角色上即可。可使用 RoleEntryPoint.OnStart 方法中的代码完成安装。

SQL 数据文件不能存储在辅助角色的虚拟硬盘驱动器上,因为在回收角色时数据就会丢失。建议挂载一个供所有角色写入的共享驱动器。详细信息,请参阅使用 SMB 在多个角色间共享 Windows Azure 驱动器

另一种替代方法是使用 SQL Database。下载 loadtest2010.dacpac 文件,使用该数据库设置 SQL Database。有关详细信息,请参阅在混合环境中运行负载测试

组装所需组件

若要开始操作,请下载设置 Azure 门户和配置该应用程序所需的软件。您可以在下面的主题中找到关于这些下载项的详细信息:Windows Azure 负载测试的必备组件和安装

设置 Windows Azure 并配置该应用程序

一旦下载了所有额外软件,就可以设置 Windows Azure 门户并配置该应用程序(将在下文中概述)。设置 Windows Azure 进行负载测试中详细介绍了完成每个步骤的详细信息。

  1. 使用新的托管服务、存储帐户和连接虚拟网络设置 Windows Azure 门户。

  2. 创建存储和托管服务帐户之后,请使用 Windows Azure 门户的值配置该应用程序。

  3. 创建包含可在辅助角色上自动安装的软件的三个 .zip 文件。

    该应用程序要求控制器软件和代理软件均在辅助角色上运行。用于创建控制器和代理的软件是预先创建的,可供您下载。为了将该软件安装到辅助角色上,需要利用一种方法:首先创建包含测试控制器和代理软件的两个 .zip 文件。使用所需工具(共有三个版本)创建这些 .zip 文件。一旦创建了这些 .zip 文件,即可将其上载到 Windows Azure 存储帐户。该应用程序运行时会从存储中检索 .zip 文件、将其解压缩并上载到辅助角色。

    还必须创建第三个 .zip 文件:包含 SQL Server 2008 SQL Express 安装包的文件。与控制器包和代理包相同,SQL Server 安装程序会自动运行并在辅助角色上部署 SQL Express 实例。

  4. 将这些 .zip 文件上载到 Azure 存储帐户。要执行此任务,请使用存储服务客户端,这是一个可供您下载的免费项目。

  5. 在 Windows Azure 门户中创建 Windows Azure Connect 组。

  6. 将连接端点安装到用于连接控制器角色的计算机上。

  7. 使用连接激活标记配置该应用程序。该标记允许辅助角色加入连接组。

发布该应用程序

一旦正确设置和配置了该门户和应用程序,即可向 Windows Azure 发布该应用程序。向 Windows Azure 发布负载测试中提供了详细步骤。

  1. 检索 Windows Azure 订阅 ID。该 ID 用于支持 Visual Studio 将该应用程序上载到您的帐户。

  2. 创建和上载管理证书。该过程如下。

    1. 使用“发布 Windows Azure”对话框并创建新的管理证书。该证书支持 Windows Azure 授权上载该应用程序。

    2. 将订阅 ID 粘贴到该对话框中。该 ID 支持 Visual Studio 识别您的帐户。

  3. 导出管理证书。若要上载该证书,请将其从计算机本地证书缓存中导出。

  4. 上载管理证书。使用管理门户上载该证书。

  5. 发布该应用程序。

使用远程桌面

一旦发布该应用程序,即可使用远程桌面连接该应用程序。Visual Studio 提供支持此功能的工具和功能。向 Windows Azure 发布负载测试中提供了用于支持远程桌面连接的步骤。

后续步骤

若要开始操作,请下载该解决方案的工具和组件:Windows Azure 负载测试的必备组件和安装


生成日期:

2013-09-12

社区附加资源

显示:
© 2016 Microsoft