导出 (0) 打印
全部展开
此主题尚未评级 - 评价此主题

Windows Azure 上的负载测试中的性能计数器

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

执行负载测试时,Visual Studio 支持您从性能计数器收集数据(通常使用 Perfmon.exe 查看性能计数器)。性能计数器特定于承载测试系统的每台计算机(辅助角色或 Web 角色)。使用 Perfmon,您可以指定要监视的进程,包括应用程序进程。本主题可引导您完成在 Windows Azure 上执行 Visual Studio 负载测试的同时记录这些计数器的一系列步骤。

note注意
在记录本文所示的性能计数器时,网络边界会减少可以接收的消息吞吐量。例如,在内部方案中,以每秒一个的频率记录许多计数器是可行的。在此处所述的方案中,网络延迟有碍性能均衡。所以在实际情况中,应减少收集的计数器数量。此外,还要将收集频率设置为 5 秒或更长。有关创建计数器集的详细信息,请参阅创建性能计数器集

本主题是在 Windows Azure 角色中使用 Visual Studio 负载测试中所述的基本方案的变化形式。有一系列关于基本方案的文章介绍如何在 Windows Azure 上运行 Visual Studio 负载测试。在基本方案中,负载测试项目针对 Windows Azure 应用程序生成通信量,而且所有角色都位于同一个 Windows Azure Connect 组中。在本主题中,要测试的辅助角色和系统都在同一连接组中运行,但运行在不同的托管服务中。

作者:Sidney Higa、Paolo Salvatori。

致谢:Jaime Alva Bravo。

先决条件

若要捕获性能计数器,需要满足以下先决条件。

  1. Windows Azure Connect 端点安装可执行文件 Wacendpointpackage.exe

    请参阅如何使用 Windows Azure Connect 安装本地端点。下载该可执行文件以供将来使用。

  2. Windows Azure 端点激活标记。

    请按照“如何使用 Windows Azure Connect 安装本地端点”中的说明来获取该标记。保存该标记以供将来检索。

概述

Visual Studio 负载测试由两个逻辑部分构成:

  1. 负载测试组件。这些组件包括测试控制器和代理。

  2. 待测试系统。要进行负载测试的应用程序。

待测试系统和负载测试组件可以一同部署在一个 Windows Azure 托管系统中。在这种方案中,由于代理节点可直接与运行该应用程序的角色实例通信,所以各部分之间的通信最为畅通。可使用 Visual Studio 工具将各部分部署在单独的托管系统中,但这样无法收集性能计数器。(下文将对此进行说明)。

在此方案中,待测试系统和负载测试组件运行在不同的托管服务中,但必须收集性能计数器。共有两个托管服务,一个用于测试控制器和代理,另一个用于待测试系统。但是,仍使用一个 Windows Azure Connect 组进行通信。

在不同服务中接受测试的代理和系统

默认的连接组创建方法是使用 Visual Studio,通过使用“激活 Windows Azure Connect”复选框来创建。(有关详细信息,请参阅使用 Windows Azure Connect 创建虚拟网络。)在此方案中,代理和待测试系统运行在不同的服务中。因此,无法使用默认方法在角色之间通信(即:使用复选框无效)。按照设计,Windows Azure Connect 不允许运行在不同托管服务中的各个角色实例之间通信。解决方法是在以下角色上安装连接端点:

  1. 承载代理的辅助角色。

  2. 承载待测试系统的 Web 和/或辅助角色。

由于您不使用复选框,所以必须通过另一个进程(如下所述)自动安装端点。

自动安装连接端点

若要支持托管服务之间通信,请首先下载 Wacendpointpackage.exe。将该可执行文件存储在包含承载代理的辅助角色的 Visual Studio 项目中。然后配置该辅助角色自动安装端点(如下所示)。

自动安装连接端点

  1. Wacendpointpackage.exe 复制并粘贴到包含承载代理的辅助角色的 Visual Studio 项目中。按照以下步骤配置该角色自动安装端点。

    1. 以管理员身份运行 Visual Studio,然后打开包含负载测试项目的解决方案。

    2. 在解决方案资源管理器中,将 Wacendpointpackage.exe 粘贴到包含承载代理的辅助角色的 Visual Studio 项目中。

    3. 在解决方案资源管理器中,右键单击 Wacendpointpackage.exe,然后单击“属性”

    4. 在“属性”窗格中,将“生成操作”属性设置为“无”

    5. 在“属性”窗格中,确保“复制到输出目录”属性设置为“始终复制”

  2. 创建运行该安装可执行文件的批处理文件。

    1. 创建名为 Startup.cmd 的文件。

    2. 将以下代码复制并粘贴到该文件中。用连接组的激活标记替换“<windows azure connect group activation token>”

      Wacendpointpackage.exe /i  /s /m en-us /token <windows azure connect group activation token>
      
  3. 将 Startup.cmd 文件复制并粘贴到包含承载代理的辅助角色的 Visual Studio 项目中。将该文件的“生成操作”属性设置为“无”。同时将该文件的“复制到输出目录”属性设置为“始终复制”

  4. 配置辅助或 Web 角色运行该批处理文件。

    1. 打开包含服务定义和配置文件的 Azure 云项目。

    2. 打开 ServiceDefinition.csdef 文件。

    3. 在承载代理的 <WebRole> 元素下,添加 <Runtime> 元素并将执行上下文设置为“已提升”。在 <Runtime> 元素下,添加 <Startup> 元素。然后添加 <Task> 元素在提升模式下运行该批处理文件。完整的代码如下:

      <Runtime executionContext="elevated"/>
      <Startup>
          <Task commandLine="setup\startup.cmd" executionContext="elevated" taskType="simple" />
      </Startup>    
      
      

上述方法通常用于在 Azure 辅助角色和 Web 角色上安装软件。有关详细信息,请参阅在 Windows Azure 中角色实例启动之前启动任务

初始化

继续下一节之前,请在 Windows Azure 上部署并运行虚拟机。运行的实例需要创建计数器集并启用计数器集的映射。有关在 Azure 上部署和运行托管服务的详细信息,请参阅在 Windows Azure 中暂存应用程序

创建性能计数器集

若要创建性能计数器集,请使用 Visual Studio 负载测试工具。

创建性能计数器集

  1. 打开包含负载测试组件的 Visual Studio 项目。

  2. 打开该测试项目,并打开负载测试 (*.loadtest) 文件。

  3. 右键单击“计数器集”文件夹,然后单击“添加自定义计数器集”。默认名称是 Custom1。根据需要重命名该计数器集文件夹。

  4. 右键单击新的自定义计数器文件夹,然后单击“添加计数器”

  5. “选择性能计数器”对话框中,从“计算机”下拉列表中选择包含待测试系统的计算机。该计算机可以是在 Windows Azure 上运行的角色实例。

  6. “性能”类别下拉列表中,选择要监视的性能计数器,然后单击“确定”

  7. 重复之前的步骤以添加所需的计数器。

创建计数器集之后,为运行的每个角色创建映射。

创建性能计数器映射

  1. 在负载测试文件 (*.loadtest) 中,打开“运行设置”文件夹。

  2. “计数器集映射”文件夹下,找到运行的 Azure 实例的名称。虚拟机名称通常以“RD”开头。每个代理辅助角色实例都有一个虚拟机。

  3. 右键单击计算机节点,然后单击“管理计数器集”

  4. “管理计数器集”对话框中,选择要添加的自定义计数器集。

该计数器集现在映射到运行代理的每个辅助角色。

启用传递安全性

远程桌面是访问角色实例的标准方式。您可以使用 Visual Studio 工具配置角色使用远程桌面。Visual Studio 工具将创建具有您指定的用户名和密码的证书。有关详细信息,请参阅将远程桌面与 Windows Azure 角色一起使用。运用这种方法时,用户名将自动添加至配置为使用远程桌面的所有角色上的管理员组。该用户还必须属于辅助角色计算机上的管理员组。这意味着,使用相同的用户名和密码来登录代理和待测试系统。要完成此操作,需要创建本地用户,并使用该标识来部署负载测试托管服务。若要检查配置是否正确,请使用远程桌面检查正在运行的辅助角色上的管理员组。检查以确认同一用户属于该组。有关创建负载测试的本地用户的详细信息,请参阅向 Windows Azure 发布负载测试主题中的“创建一个本地用户以管理负载测试控制器”。


生成日期:

2013-09-12
本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈

社区附加资源

显示:
© 2014 Microsoft. 版权所有。