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. Este proceso iterativo continúa hasta que transcurre la duración de la prueba predeterminada.
Durante cada ciclo, el sistema realiza los siguientes pasos.
1. Iniciar el cálculo de la Carga de Usuario (solo en el primer 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
2. Generación de carga
El sistema genera una carga de usuarios virtuales en función de los cálculos.
3. Evaluación del número logrado de transacciones por minuto frente al objetivo de la transacción
Al completar el primer ciclo de prueba, el sistema calcula el número real de transacciones por minuto para el ciclo. A continuación, el sistema comprueba 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 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 .
Ejemplo de la vida real
Para explicar cómo funciona en la vida real, echemos un vistazo al siguiente informe, donde el objetivo de transacción se establece en 2.000 transacciones por minuto (TPM) y la duración de la respuesta de validación de 0,18 segundos.
La carga inicial recomendada para el primer ciclo se calcula de la siguiente manera:
Iniciar carga de usuario = 2000 TPM × 0,18 s = 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.
Posibles resultados de una prueba basada en objetivos
Al ejecutar una prueba de carga basada en objetivos en LoadView, son posibles dos resultados clave.
Logro
exitoso del rendimiento de los objetivosUna prueba de carga basada en objetivos en LoadView se considera correcta cuando el sistema alcanza o se acerca al objetivo de transacción especificado. Debido a las fluctuaciones naturales en el rendimiento del servidor de destino y el tiempo de respuesta durante la ejecución de la prueba, el número exacto de transacciones logradas por minuto puede diferir ligeramente del objetivo establecido. Se esperan pequeñas desviaciones porque la carga del usuario se ajusta dinámicamente en función de las mediciones de respuesta en tiempo real. Siempre que el rendimiento alcanzado permanezca dentro de un rango aceptable del valor objetivo, la prueba se trata como un éxito
Incumplimiento de la meta
Si la prueba basada en objetivos no alcanza el rendimiento especificado, normalmente apunta a problemas de rendimiento dentro del entorno de destino. Las razones comunes incluyen:
- Un aumento proporcional en los tiempos de respuesta del servidor a medida que crece la carga de usuarios.
- Errores del lado del servidor que interrumpen el procesamiento normal de transacciones.
En tales casos, a pesar de que se aplica una carga de usuario adicional, el número de transacciones exitosas por minuto permanece por debajo del objetivo deseado, lo que pone de manifiesto posibles cuellos de botella o limitaciones del sistema que requieren una mayor optimización. Consulte nuestro artículo Solución de problemas de pruebas de carga basadas en objetivos para obtener más detalles.