¿Qué es JMeter?
JMeter es una herramienta de carga para llevar acabo simulaciones sobre cualquier recurso de software.

Inicialmente diseñada para pruebas de estrés en aplicaciones web, hoy en día su arquitectura ha evolucionado no sólo para llevar acabo pruebas en componentes habilitados en Internet (HTTP), sino además en Bases de Datos, programas en Perl, requisiciones FTP y prácticamente cualquier otro medio.

Además, posee la capacidad de realizar desde una solicitud sencilla hasta secuencias de requisiciones que permiten diagnosticar el comportamiento de una aplicación en condiciones de producción. En este sentido, simula todas las funcionalidades de un Navegador (“Browser”), o de cualquier otro cliente, siendo capaz de manipular resultados en determinada requisición y reutilizarlos para ser empleados en una nueva secuencia.


Proceso de instalación
Instalación del JDK (J2SE)
La base para operar cualquier producto que utiliza “Java” es el “JDK” de la plataforma correspondiente, puede encontrar instrucciones para plataformas Linux así como Windows, en la página web principal de java

Los pasos anteriores son los suficientes para el “JDK” en lo que concierne a la instalación de JMeter, posiblemente después tenga que trabajar con la también sumamente importante variable de entorno CLASSPATH, por ahora lo anterior es suficiente.

Instalación
1. Descargar JMeter de su
gina web principal.
2. Descomprimir el archivo .tar de JMeter en un directorio temporal ( /tmp por lo general) a través del comando : jakarta-jmeter-<numero_de_version>.
3. El paso anterior genera un directorio por nombre jakarta-jmeter-<numero_de_version>, dentro del cual se encuentran los diversos componentes de JMeter, descritos a continuación.

Estructura
bin
Este directorio contiene los ejecutables utilizados por JMeter, tanto para ambientes Linux (jmeter) asi como Windows (jmeter.bat).

docs
Contiene documentación acerca de JMeter

printable_docs
Contiene documentación — en modalidad de impresión — acerca de JMeter

lib
Este directorio contiene los archivos JA
R empleados por JMeter requeridos en cualquier modalidad.

Ejecución
La ejecución de JMeter es llevada acabo del directorio bin, que contiene las siguientes opciones:

jmeter | jmeter.bat
Corresponde a los ejecutables de la interfase principal para plataformas *nix y Windows, respectivamente.

jmeter-server | jmeter-server.bat
Representan los ejecutables para el emulador de Servidor JMeter para plataformas Linux y Windows, respectivamente.

jmeter.properties
Contiene propiedades de arranque para JMeter que son utilizadas por cualquiera de sus ejecutables.

jmeter.log
Representa los registros (“logs”) generados al ejecutar JMeter.

users.xml | users.dtd
Un archivo XML y su correspondiente DTD, empleados para definir características de usuarios que serán simulados por JMeter.

ApacheJMeter.jar
Archivo JAR que contiene las principales clases de JMeter.

Las siguientes secciones de esta guia están concentradas en pruebas llevadas acabo con la interface gráfica (Cliente) de JMeter, por esta razón, ejecute el comando jmeter ( o jmeter.bat si utiliza Windows).

Prueba de Carga Básica
El componente principal de JMeter es denominado Plan de Prueba o Test Plan, en él se definen todos los aspectos relacionados con una prueba de carga, como por ejemplo parámetros empleados por requisición, tipo de reportes a generarse con los resultados obtenidos, la posible reutilización de requisiciones compuestas por usuarios, entre otros aspectos.

A continuación se ilustra paso a paso un Plan de Prueba utilizado para simular una carga de 50 usuarios solicitando la página principal en determinado sitio.

• Estando en la interface principal de JMeter (ilustrada anteriormente), en la columna izquierda debe observar un icono llamado Test Plan (seleccionelo) al llevar acabo este paso, en la ventana derecha aparecerán varias opciones, aquella encontrada en la parte superior le permite asignar un nombre a su plan de prueba, definalo a su criterio. El resto de las opciones representan funcionalidades avanzadas que no serán descritas para esta simulación.

• Definido el nombre, coloquese nuevamente en el icono Test Plan y oprima el botón derecho de su ratón, del menú generado seleccione la opción Add – Thread Group; para efectos prácticos un Thread Group es considerado el grupo de usuarios que desea simular para su aplicación.

• Ahora seleccione el icono Thread Group recientemente creado. Al llevar acabo este paso la ventana derecha mostrará la siguiente serie de opciones:

name
Utilizado para definir un nombre más descriptivo sobre el grupo de usuarios, como Usuarios Esperados

number of threads
Equivale al numero de usuarios que se desean simular, en este caso utilizaremos 50.

Ramp-up period
Es el lapso de tiempo en segundos que se desea tener entre cada grupo de usuarios Thread Group, utilizaremos 15.

Forever
Utilizado para indicar si la simulación para grupos de usuarios Thread Group será llevada acabo infinitamente, esto es, si selecciona esta opción indica que desea simular 50 usuarios, esperar 15 segundos Ramp-up period, simular otros 50 usuarios y así sucesivamente. Para esta prueba es recomendable defina 10 ciclos para simular un total de 500 usuarios en cuestión de 150 segundos.

Scheduler
Finalmente, esta opción permite definir tiempos de arranque para determinados grupos de usuarios Thread Group , para efectos prácticos de esta simulación no será seleccionada esta opción y se iniciará la prueba a nuestra discreción.

Una vez definidas las características del grupo de usuarios Thread Group, colóquese nuevamente en este icono de la columna izquierda y ahora seleccione la opción Add Sampler HTTP Request. Lo anterior genera un icono denominado HTTP Request utilizado para definir las requisiciones de simulación. Si selecciona este último icono aparecerán las siguientes opciones en la ventana derecha:

Server Name or IP
Empleado para definir la dirección I.P o nombre del servidor donde será llevada acabo la prueba de carga, se utilizará 127.0.0.1 para indicar un servidor local.

Port number
Define el puerto TCP de operación del servidor, será empleado 80, que es el “default” para Servidores de Páginas.

path
Utilizado para definir la ruta de acceso para llevar acabo la prueba, será definido /index.html, típicamente la página principal de todo sitio para Internet.

Ahora debe colocarse en el icono de HTTP Request y oprimir el botón derecho de su “mouse”, del menú generado seleccione la opción Add Listener Graph Results, así como Add Listener View Results in Table. Lo anterior le indica a JMeter que debe generar una gráfica y tabla (respectivamente) con los resultados obtenidos en la simulación.

• Finalmente guarde su plan de prueba y ejecútelo seleccionando la opción Run – Start del menú superior. Si se coloca en el icono Graph Results mientras se esta llevando acabo la simulación, puede observar como es construida interactivamente la gráfica de resultados.

Como ultima nota, es recomendable que cuando ejecute la presente prueba de carga también realice un análisis sobre el comportamiento del Hardware, para tener una perspectiva global acerca del sistema.

En la siguiente y última sección de esta guiá, será descrita otra prueba de carga con funcionalidades más avanzadas.