La prueba de carga basada en objetivos de LoadView es una herramienta de prueba inteligente que proporciona pruebas con un número objetivo de transacciones, ajustando automáticamente todos los parámetros de prueba necesarios, como la carga de usuarios y la duración de la prueba.
En LoadView, una transacción representa un script de prueba (ejemplo de prueba) que puede incluir una o varias acciones del usuario, como navegar a una página de contacto, rellenar un formulario y enviarlo. El objetivo de transacción representa el número de estas transacciones que tu sitio puede manejar por minuto.
Explicación del algoritmo de prueba
Para alcanzar el número deseado de transacciones por minuto y tener en cuenta las posibles fluctuaciones en el rendimiento del servidor de destino y de la aplicación, LoadView ejecuta una prueba en varios ciclos. Durante cada ciclo, el sistema realiza los siguientes pasos:
- El sistema verifica si el número generado de usuarios virtuales simultáneos coincide con el objetivo de transacción deseado, dada la duración media de la respuesta en el ciclo actual (duración media de la respuesta).
- Si la carga de usuario generada no es suficiente para alcanzar el objetivo de transacción establecido, el sistema ajusta la carga para el siguiente ciclo.
Para que coincida con el objetivo de transacción especificado, el número inicial de usuarios simultáneos se calcula en función del objetivo de transacción establecido y el tiempo de respuesta medido para la ejecución de prueba de un solo usuario ejecutada durante la validación de la prueba:
Iniciar carga de usuario = Objetivo de transacción por minuto × Duración de la respuesta de validación
Al completar el primer ciclo de prueba, el sistema calcula el número real de transacciones por minuto para el ciclo. Si este número no coincide con el objetivo de transacción deseado, la carga de usuarios para el siguiente ciclo se ajusta utilizando la fórmula:
Carga de usuario = Objetivo de transacción por minuto × Avg. Duración de la respuesta
Donde el Avg. Duración de la respuesta se calcula como el tiempo medio de respuesta medido para el ciclo actual. Para garantizar la precisión, el script de prueba se ejecuta varias veces dentro de cada ciclo, con el número de ejecuciones definido por el parámetro de prueba Tasa de ajuste .
Este proceso iterativo de evaluación del objetivo de transacción y ajuste de carga continúa hasta que transcurre la duración de la prueba predeterminada.
Ejemplo de la vida real
Para explicar cómo funciona en la vida real, echemos un vistazo al siguiente informe, donde el objetivo de transacciones se establece en 2.000 transacciones por minuto (TPM) y la carga de usuarios iniciales recomendada es de 377 usuarios virtuales simultáneos.
Primer Ciclo: Evaluación Inicial
En el primer ciclo de pruebas, LoadView alcanzó 1.176 TPM, quedando por debajo del objetivo de 2.000 TPM. El tiempo medio de respuesta (duración media de la respuesta) registrado fue de 19,39 segundos. Sobre la base de estos datos, el sistema vuelve a calcular la carga de usuario necesaria para el siguiente ciclo utilizando la fórmula:
Carga de usuarios₂ = (2.000 / 60) × 19,39 ≈ 646 usuarios virtuales simultáneos
Segundo Ciclo: Ajuste de la Carga de Usuario
En el segundo ciclo, la carga de usuarios aumentó a 646 usuarios virtuales simultáneos. Sin embargo, el tiempo de respuesta del servidor de destino comenzó a aumentar (como lo indica la primera flecha en el gráfico de tiempo de respuesta). Este aumento condujo a una duración media de respuesta más alta de 32,39 segundos.
A pesar del aumento de la carga de usuarios, el sistema solo alcanzó 1.176 TPM. Esto indica que la tasa de transacción no mejoró con la carga adicional.
Tercer y Cuarto Ciclo: Nuevos Ajustes y Observaciones
LoadView recalculó la carga de usuarios para el tercer ciclo:
Carga de usuarios₃ = (2.000 / 60) × 32,39 ≈ 1.079 usuarios virtuales simultáneos
Durante el tercer ciclo, el tiempo de respuesta continuó creciendo proporcionalmente con el aumento de la carga de usuarios. En el cuarto ciclo, el tiempo de respuesta del servidor continuó aumentando con la carga de usuarios, siguiendo las tendencias observadas en ciclos anteriores. Este patrón sugiere que el rendimiento del servidor se degradó a medida que se agregaron más usuarios, lo que impidió que LoadView alcanzara el objetivo de transacción deseado.
Este ejemplo muestra que un aumento significativo en el tiempo de respuesta, incluso con una mayor carga de usuarios, puede indicar problemas de rendimiento del servidor o de la aplicación que deben abordarse para lograr el objetivo de transacción deseado.