===== Apache JMeter =====

{{ jmeter.png }}

===== ¿Qué es Apache JMeter? =====

==== Instalación ====

[[http://jmeter.apache.org|Apache JMeter]] puede descargarse tranquilamente desde su página web. Una vez descargado simplemente tenemos que descomprimirlos donde queramos (una buena ubicación es /usr/local o la carpeta de nuestro usuario).

<code bash>
santi@zenbook:$ unzip apache-jmeter-3.3.zip
Archive:  apache-jmeter-3.3.zip
   creating: apache-jmeter-3.3/
   creating: apache-jmeter-3.3/bin/
   creating: apache-jmeter-3.3/bin/report-template/
   creating: apache-jmeter-3.3/bin/report-template/sbadmin2-1.0.7/
. . .
. . .
</code>

==== Ejecución ====

=== Modo GUI ===

<code bash>
santi@zenbook:$ ./jmeter
</code>

<figure>
{{ jmeter_gui.png }}
<caption>Interfaz gráfico JMeter</caption></figure>

=== Modo línea de comandos ===

<code bash>
santi@zenbook:$ ./jmeter -n
</code>

===== Crear el plan de pruebas =====

==== Plan de pruebas web ====

El primero paso para un plan de pruebas web es añadir un //Thread Group//, que es el grupo de usuarios que queremos probar. 

<figure>
{{ jmeter0.png }}
<caption>Añadir usuarios</caption></figure>

Podemos configurar su número, el tiempo de espera entre diferentes peticiones y cuántas veces queremos repetir el test.

<figure>
{{ jmeter1.png }}
<caption>Configuración de los usuarios</caption></figure>

A continuación, podemos configurar una serie de opciones que serán comunes a todas las peticiones que queramos probar. En nuestro caso sólo fijaremos la IP del servidor al que queremos realizarlas.

<figure>
{{ jmeter2.png }}
<caption>Añadir las opciones por defecto</caption></figure>

Y ahora llega el momento de configurar tantas peticiones HTTP (//HTTP Requests//) como queramos. Una por página que queramos que se visite.

<figure>
{{ jmeter3.png }}
<caption>Añadir una petición HTTP</caption></figure>

En este caso simplemente visitaremos la raíz del sitio (/).

<figure>
{{ jmeter4.png }}
<caption>Configuración de una petición HTTP</caption></figure>

Y para terminar se pueden añadir diferentes //Listener// para visualización de resultados. En nuestro caso añadiremos un gráfico de resultados.

<figure>
{{ jmeter5.png }}
<caption>Añadir un Listener para visualizar resultados</caption></figure>

Y otro para visualizar el tiempo de respuesta

<figure>
{{ jmeter6.png }}
<caption>Añadir un Listener para obtener el tiempo de respuesta</caption></figure>

Ahora sólo tenemos que guardar el plan de pruebas y pulsar el botón //Start// para lanzarlo. Una vez terminado podremos visualizar los resultados en función de los //Listeners// que hayamos configurado.

<figure>
{{ jmeter7.png }}
<caption>Visualización de los resultados (tiempo de respuesta)</caption></figure>
==== Plan de pruebas FTP ====

==== Plan de pruebas para Base de Datos ====

==== Plan de pruebas para un Servicio Web ====

===== Ejecutar el plan de pruebas =====

<code bash>
santi@zenbook:$ ./jmeter -n -t planweb.jmx -l planweb.log
</code>

----

(c) 2017 Santiago Faci