Compartir a través de


Crear y editar pruebas de carga

Puede crear un proyecto de prueba de rendimiento web y carga para agregar pruebas de carga a su solución.Las pruebas de carga pueden contener tanto pruebas de rendimiento web como pruebas unitarias.El propósito principal de una prueba de carga es simular el acceso de muchos usuarios al mismo tiempo a un servidor.Una prueba de carga permite tener acceso a los datos de rendimiento y esfuerzo de una aplicación.Estas pruebas se pueden configurar para emular varias condiciones de carga, como cargas de usuario y tipos de red.Para crear una nueva prueba de carga se usa el Asistente para prueba de carga nueva, donde se especifican los parámetros iniciales de la prueba de carga.La configuración inicial incluye un escenario, conjuntos de contadores y un parámetro de ejecución.

Requisitos

  • Visual Studio Ultimate

Vea Vídeo: Aplicaciones de la prueba de carga en Visual Studio.

Tareas

Tareas

Temas relacionados

Crear una nueva prueba de carga: puede usar el Asistente para prueba de carga nueva de Visual Studio Ultimate para crear pruebas de carga con el fin de probar el esfuerzo y el rendimiento de la aplicación.

Editar una prueba de carga existente: una vez creada una prueba de carga con el Asistente para pruebas de carga, puede modificar y configurar diversos parámetros y propiedades mediante el Editor de pruebas de carga.

Pruebas de carga con pruebas de IU codificadas: puede crear pruebas de carga que incluyan pruebas de IU codificadas como pruebas de rendimiento.Esto es útil en circunstancias muy concretas, ya que las pruebas de IU codificadas le permiten capturar el rendimiento en el nivel de la interfaz de usuario.

Especificar procesos de 64 bits para la prueba de carga: puede establecer la configuración de pruebas que está usando con la prueba de carga para especificar que desea emplear procesos de 64 bits.

Tareas relacionadas

Configurar los parámetros de ejecución de pruebas de carga

Los parámetros de ejecución son un conjunto de propiedades que influyen en la manera en que se ejecuta una prueba de carga.Los parámetros de ejecución están organizados por categorías en la ventana Propiedades.

Consideraciones sobre las pruebas de carga

Debe tener en cuenta las siguientes sugerencias para realizar pruebas de carga grandes en Visual Studio Ultimate:

Elegir el modelo de carga adecuado

Elegir el modelo de conexión adecuado

Tasa de ejemplo y recolección de datos

Tiempo de reflexión

Establecer los objetivos de tiempos de respuesta para solicitudes de pruebas de rendimiento web

Incluir detalles de tiempo para recopilar datos como percentiles

Establecer el porcentaje de la propiedad Nuevos usuarios

Habilitar el generador de perfiles de ASP.NET

Habilitar el registro del usuario virtual

Habilitar la traza SQL

Mantener un número adecuado de equipos agente

Elegir el modelo de carga adecuado

Hay tres tipos de modelo de carga: constante, pasos y basado en objetivos.Para elegir el modelo de carga adecuado para su prueba de carga, debe conocer las ventajas de cada tipo.Para obtener más información, vea Modificar modelos de carga para modelar las actividades de usuarios virtuales.

Constante

Un modelo de carga constante es útil si desea ejecutar la prueba de carga con la misma carga de usuario durante un período de tiempo largo.Si especifica una carga de usuario alta con un modelo de carga constante, se recomienda que también especifique un período de preparación para la prueba de carga.Al especificar este período, evita que se sobrecargue el sitio con cientos de nuevas sesiones de usuario que visitan el sitio a la vez.

Paso

Un modelo escalado de carga es uno de los modelos de carga más habituales y útiles puesto que permite supervisar el rendimiento del sistema a medida que aumenta la carga de usuarios.Supervisar el sistema a medida que la carga de usuarios aumenta le permite determinar el número de usuarios que se pueden admitir con tiempos de respuesta aceptables.De otro modo, le permite determinar el número de usuarios en los que el rendimiento se vuelve inaceptable.

Si cada escala suma un número grande de usuarios, por ejemplo, más de 50 usuarios, considere el uso de la propiedad Tiempo de incremento de las escalas para escalonar el inicio de los usuarios en la escala.Para obtener más información, vea Cómo: Especificar la propiedad Step Ramp Time para un modelo de carga por pasos.

Basado en objetivos

Un modelo de carga basado en objetivos es similar a un modelo de carga escalonado en que la carga de usuarios se suele incrementar con el tiempo.Sin embargo, le permite especificar que la carga deberá dejar de aumentar cuando algún contador de rendimiento alcance un determinado nivel.Por ejemplo, puede usar un modelo de carga basado en objetivos para seguir incrementando la carga hasta que uno de los servidores de destino esté ocupado en un 75% y, a continuación, se mantenga la carga estable.

Si no hay ningún modelo de carga predefinido que satisfaga sus necesidades, se puede implementar un complemento de prueba de carga personalizado que controle la carga de usuarios a medida que se ejecuta la prueba de carga.Para obtener más información, vea Crear y usar complementos personalizados para las pruebas de carga y de rendimiento web.

Elegir el modelo adecuado de conexión de prueba de rendimiento web

Los parámetros de ejecución de las pruebas de carga admiten diversas opciones para modelar las conexiones de usuario al servidor web utilizando la propiedad Modelo de conexión de prueba web.Hay tres tipos de modelo de conexión: conexión por usuario, grupo de conexiones y conexión por iteración de prueba.Para elegir el modelo de conexión adecuado para su prueba de carga, debe conocer las ventajas de cada tipo.

Conexión por usuario

El modelo de conexión por usuario simula con mayor realismo el comportamiento de un explorador real.Cada usuario virtual que ejecuta una prueba de rendimiento web utiliza hasta seis conexiones con cada servidor web.La conexión se mantiene abierta para el servidor web que se dedica a ese usuario virtual.La primera conexión se establece cuando se emite la primera solicitud en la prueba de rendimiento web.Las conexiones adicionales se pueden utilizar cuando una página contiene más de una solicitud dependiente.Estas solicitudes podrán ser emitidas en paralelo con las conexiones adicionales.Los exploradores más antiguos utilizan hasta dos conexiones por servidor web, pero Firefox 3 e Internet Explorer 8 usan hasta 6 conexiones por servidor web.Estas mismas conexiones se reutilizan para el usuario virtual a lo largo de la prueba de carga.

La desventaja del modelo de conexión por cada usuario es que el número de conexiones mantenidas abiertas en el equipo del agente puede ser tan alto como seis veces la carga de usuarios, o incluso superior si se están usando varios servidores Web, y los recursos necesarios para admitir esta alta cantidad de conexiones podría limitar la carga de usuarios que pueden ser manejados por un agente de carga de pruebas individual.

Grupo de conexiones

El modelo de grupo de conexiones conserva los recursos del agente de prueba de carga haciendo que los distintos usuarios virtuales de la prueba de rendimiento web compartan las conexiones al servidor web.En el modelo del grupo de conexiones, el tamaño de este grupo especifica el número máximo de conexiones que se van a realizar entre el agente de la prueba de carga y el servidor Web.Si la carga de usuarios es mayor que el tamaño del grupo de conexiones, las pruebas de rendimiento web que se ejecuten en nombre de usuarios virtuales diferentes compartirán una conexión.Este es el mejor modelo para controlar la carga mayor en la capa de aplicación.

Compartir una conexión significa que una prueba de rendimiento web podría tener que esperar antes de emitir una petición cuando otra prueba de rendimiento web está utilizando la conexión.El contador de rendimiento de pruebas de carga Tiempo medio de espera de conexión lleva un seguimiento del tiempo medio que debe esperar una prueba de rendimiento web antes de enviar una solicitud.Este número debe ser menor que el tiempo medio de respuesta para una página.De lo contrario, puede que el tamaño del grupo de conexiones sea demasiado pequeño.

Conexión por iteración de prueba

La conexión por iteración de pruebas cierra la conexión después de cada iteración y abre una nueva en la iteración siguiente.

Esta opción coloca la mayor tensión en los inicios de sesión de red.A menos que esto sea necesario, se recomienda utilizar una de las dos opciones anteriores.

Tasa de ejemplo y recolección de datos

Elija una tasa de ejemplo adecuada basada en la duración de la prueba de carga.Una tasa de ejemplo pequeña, por ejemplo de cinco segundos, recopila más datos para cada contador de rendimiento que una tasa de ejemplo más larga.La recopilación de muchos datos durante un período de tiempo largo puede causar errores de espacio en disco.En pruebas de carga largas, puede incrementar la velocidad de muestra para reducir la cantidad de datos recopilados.El número de contadores de rendimiento también afecta a la cantidad de datos recopilados.En los equipos en los que se ejecute la prueba, reducir el número de contadores reducirá la cantidad de datos recopilados.

Para determinar cuál es la frecuencia de muestreo que funciona mejor para su prueba de carga particular, debe experimentar.Sin embargo, la tabla siguiente proporciona las tasas de muestreo recomendadas que puede utilizar para empezar.

Duración de la prueba de carga

Tasa del ejemplo recomendada

< 1 hora

5 segundos

De 1 a 8 horas

15 segundos

De 8 a 24 horas

30 segundos

> 24 horas

60 segundos

Tiempo de reflexión

El tiempo de reflexión de las solicitudes de prueba de rendimiento web tiene un efecto importante en el número de usuarios que se pueden admitir con tiempos de respuesta razonables.Si cambia los tiempos de reflexión de 2 a 10 segundos, generalmente se puede simular 5 veces el número de usuarios.Sin embargo, si su objetivo es simular el comportamiento de los usuarios reales debe establecer el tiempo de reflexión basándose en el comportamiento previsible de los usuarios en el sitio web.Si aumenta el tiempo de reflexión y el número de usuarios, no implica necesariamente que se sobrecargue más el servidor Web.Si se autentica el sitio Web, el tipo de esquema utilizado afectará al rendimiento.

Si deshabilita los tiempos de reflexión de una prueba de rendimiento web quizá pueda generar una prueba de carga con un alto rendimiento en términos de solicitudes por segundo.Si deshabilita los tiempos de reflexión, también reducirá el número de usuarios a un número muy inferior que cuando están habilitados estos tiempos.Por ejemplo, si deshabilita los tiempos de reflexión e intenta ejecutar 1000, es muy probable que se vean desbordados tanto el servidor de destino como el agente de la prueba de carga.

Para obtener más información, vea Modificar los tiempos de reflexión para simular los retrasos de la interacción humana en un sitio web en escenarios de pruebas de carga.

Establecer los objetivos de tiempos de respuesta para solicitudes de pruebas de rendimiento web

Una de las propiedades de una solicitud de una prueba Web es el objetivo de tiempo de respuesta.Si define los objetivos de tiempo de respuesta para las solicitudes de pruebas de rendimiento web, cuando se ejecute la prueba de rendimiento web en una prueba de carga, el analizador de esta última informará del porcentaje de las pruebas de rendimiento web cuyo tiempo de respuesta no cumplió el objetivo.De forma predeterminada, no existen objetivos de tiempo de respuesta definidos para las solicitudes Web.

Además, si utiliza la regla de validación Objetivo de tiempo de respuesta, las páginas que no cumplen el tiempo de respuesta objetivo producirán un error en la prueba de carga.Si utiliza el registro de errores, puede ver lo que ese usuario virtual estaba haciendo cuando se produjo la página lenta.

Para obtener más información, vea Cómo: Establecer los objetivos de tiempo de respuesta de la página de una prueba de rendimiento web.

Incluir detalles de tiempo para recopilar datos de percentil y habilitar la vista Detalles

Los parámetros de ejecución incluyen una propiedad denominada Almacenamiento de detalles de sincronización.Si se habilita esta propiedad, el tiempo que tarda en ejecutarse cada prueba, cada transacción y cada página durante la prueba de carga se almacenará en el repositorio de resultados de pruebas de carga.Esto habilita el Diagrama de actividad del usuarios virtual en el Analizador de prueba de carga.También se pueden mostrar datos como percentiles 90, 95 y 99, y la desviación estándar en el analizador de la prueba de carga en las tablas Pruebas, Transacciones y Páginas.

De forma predeterminada, la propiedad Almacenamiento de detalles de sincronización está habilitada para admitir el Diagrama de actividad del usuario virtual en la vista Detalles en el resultado de la prueba de carga utilizando el Analizador de prueba de carga.

Debería considerar deshabilitar la propiedad Almacenamiento de detalles de sincronización en pruebas grandes.Hay dos razones importantes para ello.

  • La cantidad de espacio requerido en el repositorio de resultados de pruebas de carga para almacenar los detalles de tiempo puede ser muy grande, sobre todo si se trata de pruebas largas.

  • Se tarda mucho tiempo en almacenar estos datos en dicho repositorio al final de la prueba de carga, puesto que los datos se almacenan en los agentes de prueba de carga una vez finalizada la ejecución.

Si se dispone de espacio en disco suficiente en el repositorio de resultados de pruebas de carga, puede habilitar la opción Almacenamiento de detalles de tiempo para obtener los datos como percentiles.Dispone de dos opciones para habilitar Almacenamiento de detalles de tiempo: StatisticsOnly y AllIndividualDetails.Con cualquiera de las dos opciones, se cronometran todas las pruebas, páginas y transacciones individuales y se calculan los datos percentiles a partir de los datos de tiempo individuales.Si elige StatisticsOnly, se eliminan los datos de tiempo individuales del repositorio después que se hayan calculado los datos como percentiles.Si se eliminan los datos, se reduce la cantidad de espacio necesario del repositorio.Sin embargo, si desea procesar datos detallados del control de tiempo directamente, en las herramientas de SQL o habilitando la vista de los detalles del usuario virtual en el Diagrama de actividad del usuario virtual, elija Todos los detalles individuales para que los datos detallados del control de tiempo se guarden en el repositorio.

Para obtener más información, vea Analizar la actividad de usuario virtual de prueba de carga en la vista Detalles del Analizador de prueba de carga y Cómo: Configurar los resultados de pruebas para recopilar información completa para habilitar la actividad de usuario virtual en los resultados de pruebas.

Establecer el porcentaje de la propiedad Nuevos usuarios

Cada escenario de una prueba de carga tiene una propiedad denominada Porcentaje de nuevos usuarios.Esta propiedad afecta a la forma en la que el motor de pruebas en tiempo de ejecución de la prueba de carga simula el almacenamiento en la memoria caché que realizaría un explorador web.El valor predeterminado de Porcentaje de nuevos usuarios es 0.Esto significa que cada usuario virtual mantiene una memoria caché virtual de solicitud dependientes y una lista de cookies entre las iteraciones.La memoria caché funciona como la caché del explorador.Por consiguiente, las solicitudes posteriores a la dirección URL no se realizarán.Esto es muy similar a los exploradores web reales.

Si el Porcentaje de nuevos usuarios se establece en 100%, cada usuario es efectivamente un "usuario de una vez" y nunca regresa al sitio.En este caso, cada iteración de prueba de rendimiento web que se ejecute en una prueba de carga se trata como si fuese la primera vez que el usuario visita el sitio web y, por lo tanto, no tiene contenido alguno del sitio web en la memoria caché del explorador de visitas previas.Por consiguiente, todas las solicitudes de la prueba de rendimiento web se descargan.Esto incluye todas las solicitudes dependientes, tales como imágenes.

[!NOTA]

Una excepción es cuando una prueba de rendimiento web solicita varias veces el mismo recurso que se puede almacenar en la memoria caché.

Utilice el valor predeterminado de 0 por ciento de nuevos usuarios para controlar la mayor carga en la capa de aplicación del sitio web.Este valor es muy similar al número de usuarios reales y controla más carga en la capa de aplicación, donde aparecen la mayoría de los problemas de rendimiento.Para obtener más información, vea Cómo: Especificar el porcentaje de usuarios virtuales que usan datos de caché web.

Habilitar el generador de perfiles de ASP.NET

El adaptador de datos de diagnóstico del generador de perfiles ASP.NET permite recopilar datos del generador de perfiles de ASP.NET de la capa de aplicación mientras se ejecuta una prueba de carga.No debe ejecutar el generador de perfiles para pruebas de carga largas, por ejemplo, en las pruebas de carga ejecutadas por más de una hora, porque el archivo de perfiles puede llegar a ser grande (cientos de megabytes).En su lugar, ejecute pruebas de carga más cortas con el generador de perfiles de ASP.NET, que le dará la ventaja del diagnóstico de los problemas de rendimiento.

Para obtener más información, vea Cómo: Configurar el generador de perfiles ASP.NET para pruebas de carga usando la configuración de pruebas en Visual Studio.

Habilitar el registro del usuario virtual

Usted puede obtener los registros completos de pruebas fallidas o mediante la especificación de una frecuencia de registro de pruebas.El registro lo controlan las propiedades Guardar registro si la prueba no es correcta, Máximos registros de prueba y Frecuencia de guardado del registro para pruebas completadas.Los valores de la propiedad Máximos registros de prueba y Frecuencia de guardado del registro para pruebas completadas controlan el número de registros recopilados.La configuración predeterminada evita que se recopile un número grande de registros.Con pruebas en ejecución prolongada que generan millones de solicitudes no utilice el valor Guardar frecuencia de guardado del registro para pruebas completadas porque el número de registros se hará demasiado grande.Mantenga también el valor de la propiedad Cantidad máxima de registros de prueba en un número razonable.Este valor de propiedades controla el número máximo de registros por tipo de error.Por consiguiente, debe conservar este valor.Esto evitará recopilar decenas de miles de registros.Obtener demasiados registros aumenta el tiempo al final de la prueba para recopilar los registros y ocupa espacio en la base de datos de prueba de carga.

Para obtener más información, vea Modificar la configuración de inicio de sesión de las pruebas de carga.

Habilitar la traza SQL

Los parámetros de ejecución incluyen una propiedad denominada Traza SQL habilitada.Esta propiedad permite habilitar la característica de traza de Microsoft SQL Server para la duración de una prueba de carga.Se trata de una alternativa a iniciar una sesión de SQL Server Profiler independiente mientras se ejecuta la prueba de carga con el fin de diagnosticar los problemas de rendimiento de SQL Server.Si se habilita la propiedad, se muestra la información de seguimiento de SQL en el Analizador de la prueba de carga.Puede verlo en la página Tablas de la tabla Seguimiento SQL.

Para habilitar esta característica, el usuario que ejecuta la prueba de carga debe tener los privilegios de SQL Server necesarios para realizar la traza SQL.Cuando se ejecuta una prueba de carga en una máquina remota, mediante un controlador de pruebas y un agente de prueba, el usuario del controlador debe tener los privilegios de SQL.También debe especificar un directorio donde se escriba el archivo de datos de seguimiento.Este directorio suele ser un recurso compartido de red.Al finalizar la prueba de carga, el archivo de seguimiento se importa al repositorio de las pruebas de carga y se asocia a la prueba de carga.El archivo se puede ver más tarde con el analizador de prueba de carga.

Para obtener más información, vea Configurar los parámetros de ejecución de pruebas de carga y Recopilar los datos de seguimiento SQL para supervisar y mejorar el rendimiento en las pruebas de carga.

Mantener un número adecuado de equipos agente

Si un equipo agente usa más del 75% de la CPU o tiene menos del 10% de memoria física disponible, se sobrecarga.Agregue más agentes al controlador de pruebas para garantizar que el equipo agente no se convierta en el cuello de botella de la prueba de carga.

Para obtener más información, vea Distribuir las series de pruebas de carga entre varias máquinas mediante controladores de pruebas y agentes de pruebas y Cómo: Especificar los agentes de prueba que se usarán en escenarios de prueba de carga.

Recursos Externos

Dd728098.collapse_all(es-es,VS.110).gifVideos

Aplicaciones de la prueba de carga en Visual Studio

Vea también

Tareas

Tutorial: Crear y ejecutar una prueba de carga que contenga pruebas de rendimiento web

Tutorial: Crear y ejecutar una prueba de carga que contenga pruebas unitarias

Conceptos

Probar el rendimiento y el esfuerzo mediante pruebas de carga y de rendimiento web de Visual Studio