Share via


Consideraciones sobre pruebas de carga grandes

Actualización: noviembre 2007

En este tema, se proporcionan sugerencias para realizar pruebas de carga grandes en Visual Studio Team System Test. Se tratan los temas siguientes:

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 Web

Incluir detalles de tiempo para recopilar datos como percentiles

Establecer el porcentaje de la propiedad Nuevos usuarios

Habilitar el seguimiento 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 Modelo de carga.

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.

Pasos

Un modelo de pasos 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. Si supervisa el sistema a medida que aumenta la carga de usuarios, puede determinar el número de usuarios que se pueden admitir con tiempos de respuesta aceptables. O a la inversa, el número de usuarios con el que el rendimiento ya no es aceptable.

Basado en objetivos

Un modelo de carga basado en objetivos se parece a un modelo de carga de pasos en tanto que la carga de usuario se suele incrementar a medida que pasa el tiempo, pero permite especificar que la carga debe dejar de aumentar cuando alguno de los contadores de rendimiento llegue a un nivel determinado. 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, consulte Tareas de pruebas de carga avanzadas.

Elegir el modelo de conexión adecuado

Hay dos tipos de modelo de conexión: conexión por usuario y grupo de conexiones. 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 ejecute una prueba Web usa una o dos conexiones con el servidor Web dedicadas a ese usuario virtual. La primera conexión se establece cuando se emite la primera solicitud en la prueba Web. Se puede utilizar una segunda conexión cuando una página contiene más de una solicitud dependiente; estas solicitudes se pueden emitir en paralelo mediante las dos conexiones. Estas mismas conexiones se vuelven a usar para solicitudes posteriores de la prueba Web y se cierran cuando termina la prueba.

La desventaja de este tipo de modelo es que el número de conexiones abiertas en el equipo agente puede llegar a duplicar la carga de usuarios. Por consiguiente, los recursos necesarios para admitir este contador de conexiones alto puede limitar la carga de usuarios de un solo agente de prueba de carga.

Grupo de conexiones

El modelo Grupo de conexiones conserva los recursos del agente de prueba de carga mediante el uso compartido de las conexiones al servidor Web entre los muchos usuarios virtuales de la prueba 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 Web que se ejecuten en nombre de usuarios virtuales diferentes compartirán una conexión.

Compartir una conexión significa que una prueba Web quizá deba esperar antes de emitir una solicitud mientras otra prueba use la conexión. El contador de rendimiento de la prueba de carga Tiempo medio de espera de conexión realiza un seguimiento del tiempo medio de espera de conexión que espera una prueba 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.

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 tasa de ejemplo 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 ejecute la prueba, si se reduce el número de contadores, se reducirá la cantidad de datos recopilados.

Debe experimentar para determinar qué tasa de ejemplo funcionará mejor para su prueba de carga en concreto. Sin embargo, la tabla siguiente proporciona las tasas del ejemplo recomendadas que puede utilizar para empezar.

Duración de la prueba de carga

Tasa del ejemplo recomendada

< 1 hora

5 segundos

1 - 8 horas

15 segundos

8 -24 horas

30 segundos

> 24 horas

60 segundos

Tiempo de reflexión

El tiempo de reflexión de las solicitudes de prueba 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, podrá habilitar la simulación con el número de usuarios multiplicado por 5. 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 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 Tiempos de reflexión.

Establecer los objetivos de tiempos de respuesta para solicitudes de pruebas 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 Web, cuando se ejecute la prueba Web en una prueba de carga, el analizador de esta última informará del porcentaje de las pruebas Web cuyo tiempo de respuesta no cumplió el objetivo. De forma predeterminada, no existen objetivos de tiempo de respuesta definidos para las solicitudes Web.

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

Incluir detalles de tiempo para recopilar datos como percentiles

La configuración de ejecución incluye 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 individuales durante la prueba de carga se almacenará en el repositorio de resultados de la prueba de carga. De este modo, se pueden mostrar datos como percentiles 90 y 95 en el analizador de la prueba de carga en las tablas Pruebas, Transacciones y Páginas.

De forma predeterminada, está deshabilitada la opción Almacenamiento de detalles de tiempo. Hay dos razones importantes para ello. En primer lugar, la cantidad de espacio requerido en el repositorio de resultados de la prueba de carga para almacenar los detalles de tiempo puede ser muy grande, sobre todo si se trata de pruebas largas. Además, 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 la prueba 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 cualquier opción, se cronometran todas las pruebas, páginas y transacciones individuales y se calculan los datos como 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 los datos de detalles de tiempo directamente, mediante las herramientas de SQL, elija AllIndividualDetails para que estos datos se guarden en el repositorio.

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 100. Es decir, cada iteración de prueba 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, se descargan todas las solicitudes de la prueba Web, incluidas todas las solicitudes dependientes, como las imágenes.

Nota:

Se inicia una excepción cuando una prueba Web solicita varias veces el mismo recurso que se puede almacenar en la caché.

Si realiza una prueba de carga de un sitio Web que cuenta con muchos usuarios de retorno que probablemente tengan imágenes y otro tipo de contenido que se guarde en la caché localmente, el uso del valor predeterminado de 100 para Porcentaje de nuevos usuarios generará más solicitudes de descarga que las que habría si se tratase del uso real. Si realiza una prueba de carga de un sitio Web que cuente con muchos usuarios de retorno, debe calcular el porcentaje de visitas al sitio Web de los usuarios que lo hacen por primera vez y establecer el porcentaje de los nuevos usuarios en consecuencia.

Habilitar el seguimiento SQL

La configuración de ejecución incluye una propiedad denominada Seguimiento SQL habilitado. Esta propiedad permite habilitar la característica de seguimiento de Microsoft SQL Server para la duración de una prueba de carga. Se trata de una alternativa a iniciar un sesión del Analizador de SQL Server 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 el seguimiento SQL. Cuando se ejecuta una prueba de carga en una plataforma de pruebas, el usuario del controlador debe tener los privilegios de SQL Server. Además, debe especificar un directorio, que suele ser un recurso compartido de red, donde se escribirá el archivo con la información de seguimiento. Al finalizar la prueba de carga, este archivo se importa al repositorio de la prueba de carga y se asocia a ésta para que se pueda ver más tarde mediante el analizador de la prueba de carga.

Para obtener más información, vea Parámetros de ejecución y Cómo: Integrar datos de seguimiento SQL.

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 a la plataforma 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, consulte Controladores, agentes y plataformas de pruebas.

Vea también

Tareas

Solución de problemas de pruebas de carga

Conceptos

Analizar los errores de las pruebas de carga

Analizar las infracciones a las reglas de umbral

Otros recursos

Trabajar con pruebas de carga