Compartir a través de


Usar controladores de prueba y agentes de prueba con las pruebas de carga

 

Publicada: julio de 2016

Este tema atañe a:

Visual Studio Enterprise

Visual Studio Professional 

Visual Studio Express

El tema es aplicable
El tema no es aplicable
El tema no es aplicable

Puede ejecutar pruebas de carga usando controladores de pruebas y agentes de prueba para distribuir la carga entre varios equipos y simular varios usuarios virtuales.

¿No desea usar los recursos y configurar sus propias máquinas para crear esta carga?  Puede usar las pruebas de carga basadas en la nube para proporcionar máquinas virtuales en la nube que generen la carga de muchos usuarios que obtienen acceso al sitio web al mismo tiempo.  Todo lo que necesita es una cuenta de Visual Studio Online.  Obtenga más información sobre este servicio de prueba de carga basado en la nube, que proporciona 15.000 minutos gratuitos de usuario virtual de pruebas de carga cada mes.  

Para entender las configuraciones necesarias para realizar la prueba de carga de la aplicación con recursos locales, siga la información del resto de este tema.

Configuración remota típica:

  • Máquina1 y Máquina2: Visual Studio (varios evaluadores pueden utilizar el mismo controlador).

  • Máquina3: controlador (puede tener también agentes instalados).

  • Máquina4-n: agente o agentes asociados al controlador en Máquina3.

Equipo remoto que usa controlador y agentes

Al ejecutar pruebas de carga, la memoria y la potencia de procesamiento del equipo suelen determinada cuánta carga se puede generar para la prueba.  El controlador de pruebas no genera la carga, sino que recopila las estadísticas de la prueba de carga de los agentes de prueba y los datos del contador de rendimiento de los agentes de prueba y del sistema que se prueba.  Por tanto, la base de datos que se usa en el controlador de pruebas requiere recursos para la cantidad de datos que se almacenan y para el número de agentes de prueba implicados en la ejecución de las pruebas.  Utilice la siguiente tabla como guía para determinar los requisitos de hardware del controlador de pruebas y del agente de prueba.  

Componente

Capa de aplicación del controlador de pruebas

Capa de datos del controlador de pruebas

Capa de datos/aplicación del controlador de pruebas

CPU

Mínimo: 1 GHz

Recomendado: 2 GHz

Mínimo: 1 GHz

Recomendado: 2 GHz

Mínimo: 1 GHz

Recomendado: 2 GHz

Disco - sistema

Mínimo: 1 GB

Recomendado: 1 GB

Mínimo: 1 GB

Recomendado: 1 GB

Mínimo: 1 GB

Recomendado: 1 GB

Disco - instalación

Mínimo: 1 GB

Recomendado: 48 GB

Mínimo: 8 GB

Recomendado: 48 GB

Mínimo: 8 GB

Recomendado: 48 GB

Memoria

Mínimo: 1 GB

Recomendado: 1 GB

Mínimo: 1 GB

Recomendado: 1 GB

Mínimo: 1 GB

Recomendado: 1 GB

Para poder ejecutar pruebas de carga mediante controladores de pruebas, debe configurar la base de datos de pruebas de carga en el controlador de pruebas de modo que use una instancia de SQL Server al ejecutar las pruebas de carga.  Si no dispone de SQL Server, puede usar SQL Express, que se incluye en Visual Studio Enterprise, como almacén de pruebas de carga.  Para obtener más información sobre cómo configurar el controlador de pruebas, consulte Instalar y configurar agentes de prueba y controladores de prueba.  

Tenga en cuenta los siguientes factores adicionales al dimensionar el hardware.

Componente

Agente de pruebas

Capa de aplicación del controlador de pruebas

Capa de datos del controlador de pruebas

Capa de aplicación/datos del controlador de pruebas

CPU

En función de la prueba, la CPU suele ser el factor limitador.

No se usa mucho.

No se usa mucho.

No se usa mucho.

Disco

Se usa mucho cuando se habilita el registro detallado en las pruebas de carga.

No se usa mucho.

Se necesita un espacio de 10 GB para 24 horas de datos de prueba.

Se necesita un espacio de 10 GB para 24 horas de datos de prueba.

Memoria

En función de la prueba, la memoria puede ser el factor limitador.

No se usa mucho.

Lo usa mucho SQL.

Lo usa mucho SQL.

La cantidad de carga que un agente de prueba concreto puede generar varía ampliamente entre las diferentes pruebas.  La mayoría de las pruebas se ven limitadas por la CPU.  El uso de la CPU es directamente proporcional a las solicitudes por segundo (RPS).  En otras pruebas de carga, la memoria es el factor de limitación.  El número de solicitudes por segundo que puede esperar controlar desde un agente de carga depende de muchos factores.  Entre ellas se incluyen las siguientes:  

  • Carga del usuario

  • Tiempo de reflexión

  • Esquema de autenticación

  • Tamaño de las solicitudes y las respuestas

  • Tiempo de respuesta

  • Nivel de validación de la respuesta

  • Tipo de prueba de la carga (prueba web o prueba unitaria)

El tiempo de reflexión es el principal factor a la hora de determinar el número de usuarios de una prueba limitada por la CPU.  Si se cambia el tiempo de reflexión de 2 a 10 segundos, se pueden simular 5 veces más usuarios aunque el número de solicitudes por segundo que se generarán será el mismo.  Si su objetivo es simular el comportamiento de los usuarios reales, debe establecer el tiempo de reflexión en un valor que refleje el comportamiento previsible de los usuarios en el sitio web.  Si aumenta el tiempo de reflexión y el número de usuarios virtuales, no implica necesariamente que se sobrecargue más la aplicación web.  

Los agentes de prueba se pueden ver limitados por la memoria en pruebas que utilizan el modo de conexión por usuario.  En los parámetros de ejecución de pruebas de carga, se pueden establecer dos modos de conexión.  En el modo Grupo de conexiones (valor predeterminado), las conexiones se agrupan, pero cada usuario sigue usando dos conexiones cuando está activo.  En este modo, todos los usuarios virtuales se multiplexan en el grupo de conexiones.  Esto le permite tener 1000 usuarios virtuales activos que comparten 100 conexiones.  En el modo Conexión por usuario, cada usuario tiene una conexión que consta de dos conexiones reales abiertas en el servidor.  

Si realiza pruebas de carga con una aplicación ASP.NET típica y un tiempo de reflexión de 3 a 5 segundos con pruebas web, puede simular aproximadamente 1000 usuarios en un agente de prueba de procesador único con una CPU de 2 GHz y memoria RAM de 1 GB (configuración recomendada).  El número de usuarios admitido es una función del tiempo de reflexión.  Cuanto más se prolonga el tiempo de reflexión, más usuarios se admiten.  

El servidor en el que se ejecuta Visual Studio Enterprise debe tener una conexión de red confiable con un ancho de banda mínimo de 1 Mbps y una latencia máxima de 350 ms.  No debería haber ningún firewall entre los agentes y el controlador de pruebas.  Si los resultados de las pruebas no satisfacen sus expectativas, tenga en cuenta una actualización de la configuración de hardware.  

Consideraciones de tamaño de SQL

De forma predeterminada, SQL Express se instala en el controlador y se utiliza en este como almacén de SQL predeterminado para los resultados de pruebas de carga.  La base de datos SQL Express está limitada por licencia a almacenar 10 GB de datos.  Esto supone aproximadamente 24 horas de datos de prueba de carga en una prueba de carga típica.  El espacio que se requiere para los datos de prueba de carga varía significativamente en función de la prueba.  

Durante una prueba de carga, se recopilan muestras de cada instancia de contador en cada equipo.  Por tanto, la cantidad de espacio que se requiere en la base de datos depende de los siguientes factores: el número de contadores recopilados, el número de equipos implicados en la prueba y el número de muestras tomadas, que se controla mediante la velocidad de muestra.  

En los parámetros de ejecución de la prueba de carga se pueden recopilar detalles de tiempo.  Así se habilita el Diagrama de actividad del usuario virtual.  También puede recopilar registros detallados de usuario virtual.  

Una ejecución de pruebas de carga puede utilizar uno o más adaptadores de datos de diagnóstico para recopilar información o afectar al equipo de pruebas.  Estos adaptadores se establecen en las configuraciones de pruebas de la ejecución.  Los datos de estos adaptadores también se almacenan en SQL Express y pueden requerir una gran cantidad de espacio en función del adaptador de datos de diagnóstico.  

Si puede, utilice una base de datos independiente para almacenar los datos de prueba de carga.  La base de datos se puede almacenar en el equipo del controlador de pruebas o en un equipo diferente.  Para cambiar el almacén de datos, envíe los comandos SQL incluidos en el archivo .sql a la instancia de SQL Server que desea utilizar como almacén de los resultados de pruebas de carga.  Existen dos formas de llevarlo a cabo.  Una consiste en utilizar el comando sqlcmd desde un símbolo del sistema y especificar las opciones necesarias para conectar a la base de datos deseada.  Utilice la opción -i para especificar la ruta de acceso a loadtestresultsrepository.sql.  Otra forma consiste en utilizar una de las interfaces GUI a SQL, como el analizador de consultas, abrir el archivo .sql y enviar las conexiones.  

Vea también

Configurar los controladores de prueba y los agentes de prueba para la prueba de carga
Distribuir las series de pruebas de carga entre varias máquinas mediante controladores de pruebas y agentes de pruebas
Instalar y configurar agentes de prueba y controladores de prueba
Configurar máquinas de pruebas para ejecutar pruebas o recopilar datos
Configurar máquinas y recopilar información de diagnóstico con la configuración de pruebas
Especificar la configuración para las pruebas de Visual Studio
Configurar los controladores de prueba y los agentes de prueba para la prueba de carga
[retirado] Cómo: Ejecutar una prueba de carga mediante los controladores y los agentes de prueba especificados en una configuración de pruebas
Tutorial: Usar un controlador y agentes de pruebas en una prueba de carga