Exportar (0) Imprimir
Expandir todo

Contadores de rendimiento para pruebas de carga en Windows Azure

Al realizar pruebas de carga, Visual Studio le permite recopilar datos de los contadores de rendimiento (normalmente se pueden ver con Perfmon.exe). Los contadores de rendimiento son específicos de cada equipo (rol de trabajador o web) que hospede un sistema probado. Con Perfmon, puede especificar procesos a supervisar, incluidos los procesos de la aplicación. Este tema ofrece instrucciones paso a paso para registrar esos contadores mientras realiza una prueba de carga de Visual Studio en Windows Azure.

noteNota
Al registrar los contadores de rendimiento como se muestra en este artículo, los límites de red reducen el rendimiento de los mensajes que se pueden recibir. Por ejemplo, en un escenario local, el registro de muchos contadores a una frecuencia de uno por segundo es viable. En el escenario aquí descrito, las latencias de red evitan un rendimiento equivalente. En la práctica por consiguiente, reduzca el número de contadores que se recopilan. Además, establezca la frecuencia de recopilación en 5 segundos o más. Para obtener más información sobre cómo crear conjuntos de contadores, vea Crear conjuntos de contadores de rendimiento.

Este tema es una variación del escenario básico descrito en Usar pruebas de carga de Visual Studio en roles de Windows Azure. Ese conjunto de artículos describe cómo ejecutar pruebas de carga de Visual Studio en Windows Azure. En ese escenario básico, un proyecto de pruebas de carga genera tráfico en una aplicación de Windows Azure y todos los roles están en el mismo grupo de Connect de Windows Azure. En este tema, los roles de trabajador y el sistema que se prueba están en el mismo grupo de Connect, pero en distintos servicios hospedados.

Autores: Sidney Higa y Paolo Salvatori.

Agradecimientos: Jaime Alva Bravo.

Requisitos previos

A continuación, se detallan los elementos necesarios para habilitar la captura de contadores de rendimiento.

  1. Archivo ejecutable de la instalación del extremo de Connect de Windows Azure Wacendpointpackage.exe.

    Vea Cómo instalar extremos locales con Windows Azure Connect. Descargue el archivo ejecutable para su uso ulterior.

  2. Token de activación del extremo de Windows Azure.

    Siga las instrucciones de Cómo instalar extremos locales con Connect de Windows Azure para obtener el token. Guarde el token para su recuperación ulterior.

Información general

Las pruebas de carga de Visual Studio se componen de dos partes lógicas:

  1. Componentes de las pruebas de carga. Los componentes incluyen el controlador de pruebas y los agentes.

  2. El sistema probado. La aplicación que se somete a las pruebas de carga.

El sistema que se somete a las pruebas y los componentes de prueba de carga se pueden implementar juntos en un sistema hospedado de Windows Azure. En ese escenario, la comunicación entre elementos es óptima ya que los nodos del agente se pueden comunicar directamente con el rol de las instancias que ejecutan la aplicación. Los elementos se pueden implementar en sistemas host independientes con las herramientas de Visual Studio, pero los contadores de rendimiento no se pueden recopilar. (Esto se explicará más adelante).

En esta situación, el sistema que se está probando y los componentes de la prueba de carga se ejecutan en diferentes servicios hospedados, pero se deben recopilar contadores de rendimiento. Hay dos servicios hospedados, uno para el controlador de pruebas y para los agentes y un segundo para el sistema que se está probando. Sin embargo, aún hay un único grupo de Connect de Windows Azure que se usa para habilitar la comunicación.

Agentes y sistema sometidos a prueba en distintos servicios

El método predeterminado para crear un grupo de Connect es utilizar Visual Studio, mediante la casilla Activar Connect de Windows Azure. (Para obtener más información, vea Usar Windows Azure Connect para crear redes virtuales). En este escenario, los agentes y el sistema que se va a probar se ejecutan en servicios diferentes. Por tanto, los roles no se pueden comunicar entre sí mediante el método predeterminado, es decir, si se activa la casilla, no va a funcionar. Por su diseño, Connect de Windows Azure no permite la comunicación entre las instancias de rol que se ejecutan en varios servicios hospedados. La solución es instalar el extremo de Connect en:

  1. Los roles de trabajador que hospedan los agentes.

  2. Los roles web y/o de trabajador que hospeda el sistema que se va a probar.

Puesto que no va a utilizar la casilla, el extremo debe instalarse automáticamente a través de otro proceso, tal como se describe a continuación.

Instalar automáticamente el extremo de Connect

Para habilitar la comunicación entre los servicios hospedados, primero descargue Wacendpointpackage.exe. Almacene el archivo ejecutable con el proyecto de Visual Studio que contenga el rol del trabajador que hospeda al agente. Después configure el rol de trabajador para instalar el extremo automáticamente, como se muestra.

Para instalar automáticamente un extremo de Connect

  1. Copie y pegue Wacendpointpackage.exe en el proyecto de Visual Studio para el rol de trabajador que hospede un agente. Siga estos pasos para configurar el rol con el fin de instalar el extremo automáticamente.

    1. Ejecute Visual Studio como administrador y abra la solución que contiene el proyecto de prueba de carga.

    2. En el Explorador de soluciones, pegue Wacendpointpackage.exe en el proyecto de Visual Studio que contiene el rol de trabajador que hospeda un agente.

    3. En el Explorador de soluciones, haga clic con el botón secundario en Wacendpointpackage.exe y, a continuación, haga clic en Propiedades.

    4. En el panel de Propiedades, establezca la propiedad Acción de compilación en Ninguno.

    5. En el panel Propiedades, asegúrese de que la propiedad de Copiar en el directorio de salida está establecida en Copiar siempre.

  2. Cree un archivo por lotes que ejecute el archivo ejecutable de la instalación.

    1. Cree un archivo denominado Startup.cmd.

    2. Copie y pegue el código siguiente en el archivo. Reemplace el <token de activación del grupo de connect de windows azure> con el token de activación para su grupo de Connect.

      Wacendpointpackage.exe /i  /s /m en-us /token <windows azure connect group activation token>
      
  3. Copie y pegue el archivo Startup.cmd en el proyecto de Visual Studio para el rol de trabajador que hospede un agente. Establezca la propiedad Acción de compilación del archivo en Ninguna. Establezca también la propiedad Copiar en el directorio de salida del archivo en Copiar siempre.

  4. Configure el rol de trabajador o web para ejecutar el archivo por lotes.

    1. Abra el proyecto en la nube de Windows Azure que contiene la definición del servicio y los archivos de configuración.

    2. Abra el archivo de ServiceDefinition.csdef.

    3. En el elemento <WebRole> que hospeda al agente, agregue el elemento <Runtime> y establezca el contexto de ejecución en "elevado". Debajo del elemento <Runtime>, agregue el elemento <Startup>. Luego agregue el elemento <Task> para ejecutar el archivo por lotes en modo elevado. Se muestra el código completo:

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

La técnica descrita se utiliza normalmente para instalar el software en los roles de trabajador y web de Windows Azure. Para obtener más información, vea Iniciar tareas antes de que se inicien las instancias de rol de Windows Azure.

Inicialización

Antes de continuar con la siguiente sección, implemente y ejecute las máquinas virtuales en Windows Azure. Las instancias de ejecución se necesitan para crear conjuntos de contador y habilitar la asignación de conjuntos de contadores. Para obtener más información sobre la implementación y ejecutar los servicios hospedados en Windows Azure, vea Almacenar provisionalmente una aplicación en Windows Azure.

Crear conjuntos de contadores de rendimiento

Para crear conjuntos de rendimiento, utilice las herramientas de prueba de carga de Visual Studio.

Para crear un conjunto de contadores de rendimiento

  1. Abra el proyecto de Visual Studio que contiene los componentes de la prueba de carga.

  2. Abra el proyecto de prueba y abra el archivo de prueba de carga (*.loadtest).

  3. Haga clic con el botón secundario en la carpeta Conjuntos de contadores y haga clic en Agregar conjunto de contadores personalizados. El nombre predeterminado es Custom1. Cambie el nombre de la carpeta del conjunto de contadores, según sea necesario.

  4. Haga clic con el botón secundario en la carpeta de contadores personalizados nueva y haga clic en Agregar contadores.

  5. En el cuadro de diálogo Elegir contadores de rendimiento en la lista desplegable Equipo, seleccione el equipo que contenga el sistema que se va probar. El equipo puede ser una instancia de rol que se ejecuta en Windows Azure.

  6. En el cuadro desplegable de categorías de Rendimiento, seleccione el contador de rendimiento a supervisar y haga clic en Aceptar.

  7. Repita los pasos anteriores para agregar los contadores que necesite.

Después de crear el conjunto de contadores, cree una asignación para cada rol que se esté ejecutando.

Para crear una asignación de contadores de rendimiento

  1. En el archivo de prueba de carga (*.loadtest), abra la carpeta Parámetros de ejecución.

  2. En la carpeta de Asignaciones de conjuntos de contadores, busque los nombres de instancias de Windows Azure que se están ejecutando. Las máquinas virtuales tienen un nombre que comienza normalmente con "RD". Hay una máquina virtual para cada instancia del rol de trabajador Agent.

  3. Haga clic con el botón secundario en el nodo del equipo y haga clic en Administrar conjuntos de contadores.

  4. En el cuadro de diálogo Administrar conjuntos de contadores, seleccione el contador personalizado que se estableció para agregarlo.

Ahora el conjunto de contadores personalizados está asignado a cada rol de trabajador que ejecute un agente.

Habilitar la seguridad de paso a través

Escritorio remoto es el método estándar para tener acceso a una instancia de rol. Puede configurar roles para utilizar Escritorio remoto con las herramientas de Visual Studio. La herramienta de Visual Studio crea un certificado con un nombre de usuario y una contraseña que usted especifique. Para obtener más información, vea Usar Escritorio remoto con los roles de Windows Azure. Cuando se usa este método, el nombre de usuario se agrega automáticamente al grupo de administradores en todos los roles que se configuren para utilizar Escritorio remoto. El mismo usuario debe formar parte del grupo administradores en los equipos del rol de trabajador. Lo cual quiere decir que se usa el mismo nombre de usuario y contraseña para registrarse en los agentes así como en el sistema que se está probando. La manera de realizar esto es crear un usuario local y utilizar esa identidad para implementar la prueba de carga del servicio hospedado. Para comprobar si la configuración es correcta, utilice Escritorio remoto para buscar el grupo administradores en un rol de trabajador que se esté ejecutando. Compruebe a ver si el mismo usuario forma parte del grupo. Para obtener más información sobre cómo crear el usuario local para las pruebas de carga, vea “Crear un usuario local para administrar un controlador de pruebas de carga” en el tema Publicar la prueba de carga en Windows Azure.


Fecha de compilación:

2013-07-25

Adiciones de comunidad

Mostrar:
© 2014 Microsoft