Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. Objetivos
2. Marco Teórico
Pruebas de rendimiento
Página 1 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Pruebas de carga
Pruebas de Estrés
JMeter
La aplicación Apache JMeter es un software de código abierto, una aplicación Java 100%
pura diseñada para cargar el comportamiento funcional de las pruebas y medir el
rendimiento. Originalmente fue diseñado para probar aplicaciones web, pero desde
entonces se ha expandido a otras funciones de prueba. [4]
Página 2 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Apache JMeter puede usarse para probar el rendimiento tanto en recursos estáticos
como dinámicos, aplicaciones web dinámicas.
Se puede usar para simular una carga pesada en un servidor, grupo de servidores, red u
objeto para probar su resistencia o analizar el rendimiento general bajo diferentes tipos
de carga. [4]
Puede probar varias aplicaciones utilizando JMeter. Las siguientes son algunas
aplicaciones que JMeter puede probar: [5]
Prueba IDE con todas las funciones que permite la grabación rápida del plan de
prueba (desde navegadores o aplicaciones nativas), creación y depuración.
Página 3 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Modo CLI (modo de línea de comandos (anteriormente llamado No GUI) / modo sin
cabeza) para cargar la prueba desde cualquier sistema operativo compatible con
Java (Linux, Windows, Mac OSX, ...)
Un informe HTML dinámico completo y listo para presentar
Fácil correlación a través de la capacidad de extraer datos de los formatos de
respuesta más populares, HTML, JSON, XML o cualquier formato de texto
Portabilidad completa y pureza 100% Java.
El marco completo de subprocesos múltiples permite el muestreo concurrente de
muchos subprocesos y el muestreo simultáneo de diferentes funciones por grupos
de subprocesos separados.
Almacenamiento en caché y análisis fuera de línea / reproducción de resultados de
pruebas.
Elementos de JMeter
Página 4 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Página 5 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Página 6 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
3. Desarrollo de la Práctica
3.1. Instalación
1. Ingresamos a la página oficial de descarga de JMeter con el siguiente enlace:
https://jmeter.apache.org/download_jmeter.cgi
Página 7 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Página 8 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Página 9 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
2. Luego creamos un nuevo grupo de hilos, los cuales representa usuarios que se
conectan a la aplicación web.
3. Cambiamos el nombre del grupo de hilos a ‘Primer Test’ y dejamos los demás
atributos por defecto.
4. Luego añadimos un servidor proxy http el cual nos servirá para capturar las
peticiones que se realizaran dentro de la página web.
Página 10 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Página 11 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
6. Luego para que nuestro servidor proxy funcione debemos configurar el proxy
de nuestro computador habilitamos el servidor proxy, en dirección ingresamos
‘localhost’ y en el puerto ingresamos ‘8888’.
Página 12 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Página 13 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
11. Volvemos a la herramienta y abrimos el grupo de hilos dentro del cual podemos
observar que se guardó un muestreador o sampler el cual contiene una petición
GET a la raíz de la página de blazedemo.
Página 14 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Página 15 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Página 16 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
17. Regresamos a JMeter y verificamos si se creó la nueva muestra que debe ser
una petición POST con los datos del formulario y que se dirigió a la dirección
/confirmation.php.
Página 17 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Página 18 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
20. Ahora vamos a añadir un receptor o listener, elegimos el receptor llamado ‘Ver
Árbol de Resultados’.
Página 19 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Página 20 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
25. Luego nos dirigimos al grupo de hilos y vamos a cambiar el número de hilos a 10
y el periodo de subida a 100 segundos.
Página 21 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
27. También podemos observar como el receptor de informe agregado varia sus
resultados de tiempos y rendimiento ya que ahora tenemos 10 usuarios que
ejecutaran las 4 muestras una sola vez.
28. Nuevamente nos dirigimos al grupo de hilos, vamos a colocar el número de hilos
a 3, el periodo de subida a 1 segundo y el contador de bucle en ‘Sin fin’ lo cual
Página 22 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
nos permite ejecutar las muestras con 3 usuarios varias veces hasta que demos
clic en detener.
30. Creamos un archivo de texto y vamos a colocar 3 filas cada una con 2 tipos de
datos separados por comas que simularan el nombre y el número de tarjeta
para ingresar dentro del formulario al momento de ejecutar las muestras.
Página 23 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
31. Ingresamos a la configuración del CSV y elegimos la ruta del archivo que
contiene los datos, dentro de la opción ‘Nombre de Variable’ ingresamos
‘nombre, card’ que son los nombres de las variables que vamos a utilizar dentro
de la muestra.
Página 24 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
34. Finalmente obtenemos nuevos valores dentro de los receptores ahora con 3
usuarios y con un contador de bucle infinito.
Página 25 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
4. Análisis de resultados
4.1.2. Pregunta 2
Liste 3 elementos JMeter y defínalos
4.1.3. Pregunta 3
¿Por qué deberíamos usar o necesitar JMeter?
4.1.4. Pregunta 4
Liste 4 funciones de JMeter con su tipo de función y su descripción.
Página 26 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
5. Conclusiones y Recomendaciones
5.1. Conclusiones
5.2. Recomendaciones
6. Bibliografía
Página 27 de 28
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
[2] What is load testing? - Definition from WhatIs.com. (2020). Retrieved 19 January 2020,
from https://searchsoftwarequality.techtarget.com/definition/load-testing
[3] What is stress testing? - Definition from WhatIs.com. (2020). Retrieved 19 January
2020, from https://searchsoftwarequality.techtarget.com/definition/stress-testing
[4] Apache JMeter - Apache JMeter™. (2020). Retrieved 19 January 2020, from
https://jmeter.apache.org
[5] What is JMeter? | How It Works | Feature & Career | Advantages of Jmeter. (2020).
Retrieved 19 January 2020, from https://www.educba.com/what-is-jmeter/
[6] Detail Description of JMeter Components. (2020). Retrieved 19 January 2020, from
https://www.softwaretestinghelp.com/jmeter-components/
[7] About Apache JMeter. (2019). Retrieved 19 January 2020, from https://qa-
platforms.com/about-apache-jmeter/
7. Anexos
GITHUB de JMeter
https://github.com/apache/jmeter
Página 28 de 28