Está en la página 1de 6

Pruebas de carga con el incomprendido JMeter - Parte 1.

Bueno, antes de comenzar a leer esto, si son curiosos y si no haban escuchado


nunca sobre JMeter, mnimo ya lo han buscado en Google para revisar de qu
se trata. De todas maneras lo explicar desde cero para poder ir entendiendo
algunas cosas interesantes que he aprendido acerca de esta herramienta en
las ltimas semanas.

JMeter es una herramienta OpenSource que permite realizar pruebas de carga


sobre nuestras aplicaciones. Las pruebas se pueden realizar sobre casi
cualquier elemento de software de nuestra aplicacin (una
funcin/procedimiento de base de datos, un mtodo Java, un servicio web, una
pgina web, etc.) y a travs de diversos protocolos (TCP/IP, HTTP, JDBC, etc.).
Esta herramienta ha sido desarrollada sobre Java y su versatilidad ha sido bien
aprovechada pudiendo llegar a tener una herramienta sumamente
personalizada para nuestras pruebas de carga.

Una prueba de carga, tambin conocida como prueba de estrs, o (load test),
es una prueba cuya finalidad es medir el rendimiento de nuestra aplicacin en
escenarios de extrema concurrencia. Cuantos requerimientos simultneos
puede llegar a responder mi servicio web sin que el tiempo de respuesta se vea
afectado? Cuantos usuarios simultneos podrn acceder a mi pgina web antes
de que el servidor web colapse? Las respuestas a este tipo de preguntas que a
simple vista son difciles de conocer, son el objetivo de las pruebas de carga
sobre una determinada aplicacin.

Bien, lo primero que necesitamos, es tener instalado un JRE (Java Runtime


Environment), con la finalidad de poder ejecutar la aplicacin que como dijimos
anteriormente, est desarrollada en Java. Si tienes alguna duda acerca de lo
que es el JRE o cmo instalarlo, puedes revisar esta entrada antes de continuar.
Con un ambiente de ejecucin de Java instalado, lo nico que necesitamos es
el programa. Jmeter puede ser descargado desde su sitio

oficial: http://jmeter.apache.org/. Al seguir los vnculos: Download -> Download


Releases, encontramos los enlaces a la descarga del programa en dos
formatos: tar.gz y zip. En el momento de esta publicacin la ltima versin
estable es la 2.9. As que al descargar el programa (yo prefiero el zip),
tendremos un archivo como: apache-jmeter-2.9.zip.

Al descomprimirlo, tendremos el programa listo para ser utilizado. Dentro de la


carpeta: "apache-jmeter-2.9\bin" podemos encontrar el archivo
"jmeter.bat", que bsicamente es el archivo que permitir ejecutar el
programa. (Para poder ejecutarlo sin problemas es necesario tener instalado
como mnimo el JRE 1.6. Si no sabes qu es eso, puedes chequear estaentrada
para salir de las dudas).

Ahora tenemos a JMeter listo para correr una prueba de carga sobre alguna
vctima algn sitio de prueba. Para nuestro primer ejemplo, lo que haremos es
"probar" el sitio oficial de JMeter.

Lo nico que configuraremos es un escenario que simule 5 peticiones


simultneas al sitio "http://jmeter.apache.org" y ver cmo se comporta cada
peticin realizada. Para esto seguiremos los siguientes pasos en la aplicacin
de JMeter:
1. Configurar un Grupo de Hilos
El elemento Grupo de Hilos es el punto de partida de cualquier Plan de
Pruebas. Todos los controladores y muestreadores deben estar dentro de un
Grupo de Hilos. Como su nombre lo indica, este elemento controla el nmero
de hilos que va a ejecutar nuestra prueba.
Entre las principales propiedades que vamos a editar estn:

La cantidad de hilos.

El tiempo de subida (El tiempo que JMeter tendr para levantar la


cantidad de hilos configurados).

La cantidad de veces (iteraciones) que se ejecutar la prueba.

Para configurarlo, seguiremos estos pasos:

Nuevo Plan de Pruebas

Crear nuevo Grupo de Hilos

Configurar el Nmero de Hilos

2. Configurar una peticin HTTP

Este elemento se comporta como un muestreador. Y su funcin principal es la


de realizar una solicitud HTTP hacia un servidor web.
Entre las principales propiedades que vamos a editar estn:

El nombre del servidor o direccin IP.

El mtodo HTTP que se va a usar para realizar la solicitud.

Para configurarlo, seguiremos estos pasos:

Agregar nueva Peticin HTTP

Configurar el Servidor web y el Mtodo HTTP

3. Configurar un reporte "rbol de Resultados"


Este elemento se comporta como un receptor. Y permite visualizar a manera de
rbol cada una de las respuestas obtenidas por la ejecucin de los
muestreadores. Adems se puede ver el tiempo que le tom obtener la
respuesta y algunos cdigos de respuesta.

Para configurarlo, seguiremos estos pasos:

Agregar nuevo rbol de Resultados

Luego de esto procederemos a darle click al botn de la flecha verde (Arrancar)


para iniciar nuestra prueba. En ese momento, el grupo de hilos lanzar 5 hilos
(en nuestro caso) haciendo cinco peticiones HTTP simultneas al servidor
configurado. Los resultados de cada una de esas peticiones podremos verlo en
nuestro elemento rbol de Resultados:

Cdigo de respuesta de cada peticin

Datos de respuesta de cada peticin

Pues bien, hasta este momento hemos configurado un Plan de Pruebas que
lanza 5 peticiones simultneas a la pgina inicial de un servidor web.
Realmente no estamos probando el servidor web con una carga realmente
pesada (Podramos aumentar la cantidad de hilos o las iteraciones del Grupo de
Hilos) y tampoco tenemos resultados descriptivos acerca del comportamiento
del servidor frente a cargas pesadas (Podramos usar un receptor ms
especializado para esto como el Grfico de Tiempo de Respuesta), stos puntos
y otros ms los cubriremos en la siguiente parte de pseudo-tutorial de JMeter.
Fuente: http://jmeter.apache.org/usermanual
Si les ha parecido interesante la entrada, tienen comentarios, u opiniones
acerca de este tema o alguno relacionado, sintanse en la libertad de
comentar. La meta es aprender.