¿Cómo analizamos informes resumidos en JMeter para probar la carga de una aplicación web?

Un plan de prueba de Jmeter debe tener un oyente para mostrar el resultado de la ejecución de la prueba de rendimiento. Los oyentes capturan la respuesta que regresa del servidor mientras Jmeter se ejecuta y muestra en forma de árbol, tablas, gráficos y archivos de registro. También le permite guardar el resultado en un archivo para referencia futura. Hay muchos tipos de oyentes que Jmeter proporciona. Algunos de ellos son: Informe resumido, Informe agregado, Gráfico agregado, Ver árbol de resultados, Ver resultados en tabla, etc.

Aquí está la comprensión detallada de cada parámetro en el informe de resumen.

Etiqueta: es el nombre / URL de la solicitud HTTP específica. Si ha seleccionado la opción “¿Incluir nombre de grupo en la etiqueta?”, El nombre del Grupo de subprocesos se aplica como prefijo a cada etiqueta.

# Muestras: Esto indica el número de usuarios virtuales por solicitud.

Promedio: es el tiempo promedio que toman todas las muestras para ejecutar una etiqueta específica. En nuestro caso, el tiempo promedio para la Etiqueta 1 es de 942 milisegundos y el tiempo promedio total es de 584 milisegundos.

Min: El tiempo más corto que toma una muestra para una etiqueta específica. Si observamos el valor Min para la Etiqueta 1, entonces, de las 20 muestras, el tiempo de respuesta más corto de una muestra fue de 584 milisegundos.

Máx .: el tiempo más largo que toma una muestra para una etiqueta específica. Si observamos el valor máximo para la etiqueta 1, entonces, de las 20 muestras, el tiempo de respuesta más largo que tuvo una muestra fue de 2867 milisegundos.

Std. Dev .: Esto muestra el conjunto de casos excepcionales que se estaban desviando del valor promedio del tiempo de respuesta de la muestra. Cuanto menor es este valor, más coherentes son los datos. La desviación estándar debe ser menor o igual a la mitad del tiempo promedio para una etiqueta.

Error%: porcentaje de solicitudes fallidas por etiqueta.

Rendimiento: el rendimiento es el número de solicitudes que el servidor procesa por unidad de tiempo (segundos, minutos, horas). Este tiempo se calcula desde el comienzo de la primera muestra hasta el final de la última muestra. Mayor rendimiento es mejor.

KB / Sec: indica la cantidad de datos descargados del servidor durante la ejecución de la prueba de rendimiento. En resumen, es el rendimiento medido en kilobytes por segundo.

Para comprender más en detalle, haga clic aquí: Comprender y analizar el informe resumido en Jmeter | Pruebas de revistas

Además, comprenda y analice el informe agregado en Jmeter | Prueba de revistas para el informe agregado.

¡¡Aclamaciones!!

Según la explicación de la guía The Load Reports de las principales métricas de la prueba de rendimiento que recopila JMeter, mire a continuación:

# Muestras es el número de muestras con la misma etiqueta.
Promedio es el tiempo promedio de un conjunto de resultados.
La mediana es un número que divide las muestras en dos mitades iguales. La mitad de las muestras son más pequeñas que la mediana, y la mitad son más grandes. [Algunas muestras pueden ser iguales a la mediana.] Esta es una medida estadística estándar. La mediana es la misma que el percentil 50.
Línea del 90% (percentil 90), lo que significa que el 90% de las muestras no tomaron más que esta vez.
Min es el tiempo más corto para las muestras con la misma etiqueta
Max es el tiempo más largo para las muestras con la misma etiqueta
Error% es el porcentaje de solicitudes con errores
El rendimiento se mide en solicitudes por segundo / minuto / hora. La unidad de tiempo se elige de modo que la velocidad mostrada sea al menos 1.0. Cuando el rendimiento se guarda en un archivo CSV, se expresa en solicitudes / segundo, es decir, 30.0 solicitudes / minuto se guardan como 0.5.
Kb / seg : rendimiento medido en kilobytes por segundo. El tiempo es en milisegundos.

Veamos cómo calcular el rendimiento:
Agregue un informe resumido al grupo de hilos / solicitud que está enviando. Allí puede obtener el informe anterior.
Rendimiento = 1 / [Tiempo total]
Donde Tiempo total = [Avg mordidas] * [1 / (KB / Sec)]
Cuando usamos [1 / (KB / Sec)] estamos obteniendo el Tiempo consumido en Sec. Para 1 KB de datos.
Entonces, simplemente para una muestra, es decir, Avg mordidas de esa muestra = [Avg bites] * [1 / (KB / Sec)]
Entonces el rendimiento es para una muestra = 1 / [{Avg bites} * {1 / (KB / Sec)}]
P.ej :
Rendimiento = 1 / [Tiempo total]
Tiempo total = (6.041 KB) * [1/90] = 0.0671 seg
Entonces rendimiento = 1 / 0.0671 = 14.9031297 / seg
Ahora para decidir quién tiene la culpa:
El tiempo de respuesta es el valor contado justo antes de que se envíe la solicitud hasta que se genera el último byte de respuesta.
Aquí el rendimiento es la medida del rendimiento del servidor.
Caso 1 : cuando encontramos un escenario donde el tiempo de respuesta para la solicitud es alto pero el rendimiento es mucho menor. Esto significa que el servidor no tiene la capacidad suficiente para mantener / ejecutar la solicitud. Que piden el ajuste en el lado del servidor.
Caso 2: cuando el tiempo de respuesta es alto pero el rendimiento en comparación con el tiempo de respuesta es mucho mayor. Esto implica que la solicitud lleva más tiempo debido a un error en la aplicación. No debemos culpar al tiempo de procesamiento del servidor por esto. Ahora es el momento de considerar otros factores y ajustarlos para mejorar el rendimiento de la aplicación.

Muestras : la cantidad de muestras / usuarios virtuales.

Promedio: es el tiempo promedio que toman todas las muestras para ejecutar la etiqueta en particular.

Min : el tiempo más corto para las muestras con la misma etiqueta

Max : el tiempo más largo para las muestras con la misma etiqueta

Error% : porcentaje de solicitudes con errores. Muestra las solicitudes fallidas por cada 100 solicitudes realizadas.

Rendimiento -.

Rendimiento = 1 / Tiempo total

Donde el tiempo total = bit promedio * 1 / (kb / seg)

Cuando usamos 1 / (kb / segundo) estamos obteniendo el tiempo consumido en segundos para 1 kb de datos.

así que a través de poner para una muestra = 1 / [{mordidas promedio} * {1 / (kb / segundo)}]

Le sugiero que aprenda el Análisis de resultados de la prueba de rendimiento. Luego puede analizar el informe de prueba de cualquier herramienta.

Enlace de referencia:

Análisis de resultados de la prueba de rendimiento (Nivel I)

Puede usar BlazeMeter Sense, análisis de informes en línea. Es su versión gratuita y de pago. Anteriormente se llamaba loadosophia.org.

URL- BlazeMeter Sense

More Interesting

¿Por qué hay mucho desarrollo en el campo de JavaScript (nodo, express, Mongo, etc.) para aplicaciones web empresariales escalables mientras ya tenemos una tecnología probada como Java EE, .NET y PHP?

¿Qué aplicaciones web realmente podrían mejorar su sección de preguntas frecuentes / ayuda?

¿Qué debo considerar al diseñar una aplicación web?

¿Cuál es el mejor método para reducir los errores tipográficos en la dirección de correo electrónico en una aplicación web?

¿Qué es una buena aplicación de administración de tareas donde puedo crear una tarea desde un correo electrónico?

Si NginX se ejecuta como un proxy inverso con Apache, ¿cómo NginX servirá los archivos estáticos más rápido si Apache está entregando todos los archivos PHP?

¿Cuáles son sus opiniones sobre el futuro del desarrollo web y el desarrollo de software en India?

Si desea crear una aplicación web pero no desea apoyar a un equipo de desarrollo, ¿pueden las opciones de código bajo ser lo suficientemente robustas como para admitir la aplicación?

¿Cuál sería mejor aprender? ¿Desarrollo de software o desarrollo web?

¿Cuáles son los pros y los contras de crear carpetas individuales para cada usuario en lugar de lanzar todos los archivos cargados en una sola carpeta para una aplicación web?

¿Cuáles son las mejores aplicaciones de chat web de código abierto con chat privado y cababilidades con múltiples salas?

¿Existe un navegador web que le permita iniciar y guardar sesiones separadas personalizadas?

¿Dónde empiezo a construir un raspador web?

Si quiero crear una aplicación web escalable en 2017 (un sitio web de redes sociales) y el rendimiento es crítico, ¿debería elegir JavaEE o Spring o Node.js?

Al desarrollar una aplicación web, que tiene una función diferente para el sitio web (para blog, páginas de destino y marketing), ¿cuál es la forma típica en que se integran?