Normalmente cuando los desarrolladores trabajamos con Java realizamos una toma de requerimientos ,usamos frameworks y desarrollamos código. Sin embargo en muchas ocasiones me he encontrado con que nos olvidamos un poco de aquellos requerimientos no funcionales .Uno de los mas habituales es el rendimiento . ¿ La aplicación se comporta correctamente con 100 usuarios simultaneos y con mil?. Muchas veces estas cosas se olvidan y generan tremendos problemas porque SOLO cuando la aplicación entra en un entorno de producción real se prueban . Lamentablemente cuando llega a un entorno real y hay PROBLEMAS es muy difícil dar marcha atras y corregirlos. JMeter es la herramienta Java mas utilizada para realizar pruebas de carga. Vamos a realizar una introducción a ella.
Instalación de JMeter
La instalación es muy sencilla simplemente nos bajamos JMeter de la siguiente URL . Una vez hemos bajado la herramienta simplemente descomprimimos el zip y ya podremos arrancar el JMeter con jmeter.bat o ./jmeter.sh .En linux tendremos que darle los permisos adecuados con chmod. Hecho esto el programa arrancará y nos mostrará la pantalla inicial.
Esta pantalla como punto de partida asusta ya que tiene demasiadas opciones desde mi punto de vista .
JMeter y ThreadGroup
Sin embargo JMeter no es una herramienta tan compleja de manejar . Por ejemplo si nosotros queremos hacer pruebas de carga contra un servidor web . Deberemos lanzar un conjunto de peticiones para ver como responde .¿Como se diseña este conjunto de peticiones en JMeter? . JMeter hace uso de un concepto que se denomina ThreadGroup o grupo de Hilos .
Para añadir a nuestro proyecto de JMeter un grupo de Hilos que se encargará de lanzar las peticiones deberemos ir al siguiente menú.
Esto añadirá al plan de pruebas el siguiente elemento .
Ya tenemos a nuestra disposición un grupo de hilos .Si pulsamos sobre el podremos ver que opciones de configuración del grupo tenemos.
En este caso simplemente hemos modificado el Thread Group para que tenga 10 hilos (Number of Threads) .El siguiente paso es configurar el grupo de hilos para que realicen algún tipo de petición .En este caso vamos a elegir una petición web (Http Request)
Una vez añadida la petición nos aparecerá un nuevo elemento a nivel del Grupo de Hilos que hace referencia a una petición web.
Vamos a configurar esta petición de una forma sencilla asignándole nombre , servidor , puerto y path al que tiene que acceder .
Como podemos ver hemos configurado el grupo de Threads para que solicite la URL http://localhost:8080/Web01/Hola.jsp.
JMeter Listeners
Estamos ya a punto de finalizar la configuración de las pruebas de carga. Ahora bien necesitamos alguna forma de saber si las peticiones que lanzamos se ejecutan de forma correcta . Para ello usaremos el concepto de Listener el cual se encarga de almacenar los resultados. En este caso usaremos el listener de resumen que es el mas sencillo.
Realizada esta operación en nuestro plan de pruebas nos aparecerá un nuevo elemento.
Solo nos queda pulsar el icono verde de play del plan de pruebas y ejecutarlo con los 10 Hilos que hemos creado .
Podemos ver los resultados en nuestro Listener.
El listener nos muestra la información sobre las peticiones realizadas .En nuestro caso son 10 y ninguna ha dado error . Hemos terminado de configurar una prueba de carga “elemental”.
Como se el archivo dentro de mi proyecto al que tengo que hacerle la prueba, o sea, ahi es para hola.jsp, pero en mi proyecto como se a cual archivo tengo que apuntar. Saluds
Pues tendrás que ver cual es el que quieres tu comprobar a nivel de rendimiento y apuntar a ese
Muy bueno, gracias por el tutorial
Voy a aplicarlo a un proyecto que tengo
gracias 🙂
no tiene un ejemplo basico sobre testing de integracion
y sobre este como hago para probar un archivo de java
Pues no tengo nada de eso ya lo siento 🙁
[…] introducido JMeter en el artículo anterior y realizado una prueba de carga sencilla .Ahora bien ¿cuando usamos JMeter ? .La respuesta […]