---
title: 'Guía de instalación y configuración -- JMeter'
---
Guía de instalación y configuración -- JMeter
===
* **Coordinador Tecnológico:** Rafael Palau
* **Arquitecto:** Horacio Nemeth
* **Consultores:**
Ilse Grau
Julio Mello
Marco Aquino
Marcos Benítez
Lauro Segovia
## Contenido
[TOC]
## Introducción
La guía de instalación y configuración describe los pasos necesarios para realizar las pruebas de estrés de los servicios de backend expuestos en API Gateway.
## Objetivos
* Instalar JMeter en un entorno windows.
* Configurar las pruebas de estrés de los servicios de backend disponibles.
## Resultados esperados
> JMeter instalado y configurado para la realización de las pruebas de estrés.
## JMeter
### ¿Qué es JMeter?
> JMeters es un software de código libre que está desarrollado 100% en lenguaje de programación Java. JMeter fue diseñado para realizar pruebas de carga en servidores o aplicativos Web por medio del protocolo HTTP. Gracias a su gran popularidad, se expandió para incluir otros protocolos de comunicación. JMeter fue desarrollado por Stefano Mazzocchi para cubrir la necesidad de realizar pruebas de carga, estrés y capacidad al proyecto Apache JServ, el cual fue reemplazado tiempo después por el proyecto Apache Tomcat. En Noviembre del 2011, JMeter fue reconocido como un proyecto de alto nivel para la fundación Apache y es por ello que se le asignó un sitio web exclusivo [1].
### Instalación en Windows 10
#### Pasos para la instalación
1. Realizar la descarga del sitio oficial de JMeter [2] (https://jmeter.apache.org/download_jmeter.cgi).

Figura 1. Pagina oficial de JMeter.
2. Descomprimir el archivo *apache-jmeter-5.4.1.tgz*
3. Ejecutar el archivo jmeter.bat en el directorio /bin (Ejemplo de path: C:\Users\Melius\Downloads\apache-jmeter-5.4.1\apache-jmeter-5.4.1\bin\jmeter.bat)

Figura 2. Ejecución del JMeter por terminal de comandos.

Figura 3. Aplicación de escritorio de JMeter en ejecución.
### Plan de Pruebas o *Test Plan*
Un Plan de Pruebas define y proporciona un esquema de cómo y qué probar: aplicación web, así como la aplicación cliente-servidor. Puede verse como un contenedor para ejecutar las pruebas. Este proporciona un marco en el que se ejecutará una secuencia de operaciones o herramientas para realizar las pruebas. Un plan de pruebas incluye elementos como grupos de hilos, controladores lógicos, controladores generadores de muestras, escuchadores, temporizadores aserciones y elementos de configuración. Un plan de pruebas debe tener al menos un grupo de hilos [3].
### Configuración del Plan de Pruebas o *Test Plan*
1. Asignar un nombre al Plan de Pruebas (Name: Test Plan).
2. Configuración de variables.
| Name | Value |
| -------- | -------- |
| HOST | localhost|
| PORT | 80 |
| PROTOCOL | http |

Figura 4. Configuración de variables del Test Plan.
3. Agregar un HTTP Header Manager.

Figura 5. Agregar un HTTP Header Manager.

Figura 6. Configuración de variables.
4. Agregar un HTTP Request Default.

Figura 7. Agregar un HTTP Request Default.

Figura 8. Configuración de variables.
5. Agregar un Aggregate Report.

Figura 9. Agregar un Aggregate Report.
Básicamente, este listener crea una tabla de resultados con una fila para cada muestra por separado y proporciona información sobre "Tiempo promedio", "Valor medio", "Línea del 90%", "Línea del 95%", "Línea del 99%", "Tiempo de respuesta mínimo" , "Tiempo de respuesta máximo", "% de error", "Rendimiento" y "Valor de KB / seg". También puede encontrar el valor total para cada uno de estos campos en la parte inferior de la tabla.

Figura 10. Tabla de resultados.
6. Agregar un View Results Tree

Figura 11. Agregar un View Results Tree.
Este listener permite captura todas las peticiones y respuestas que son realizadas en cada plan de prueba
7. Agregar un Thread Group
Un Grupo de Hilos o *Thread Group* es el punto de partida de un Plan de Pruebas, y debe contener todos los demás elementos de JMeter. Un grupo de hilos controla los hilos que creará JMeter para simular usuarios simultáneos [3].

Figura 12. Agregar un Thread Group.
> Panel de control de los grupos de hilos
* Número de hilos o *Number of Threads*: Simula el número de usuarios o conexiones a su aplicación del servidor.
* Periodo de ejecución de pruebas o *ramp-up period*: indica al JMeter el tiempo en segundos para configurar todos los hilos y ejecutarlos.
* Recuento de bucles o *Loop Count*: Define el número de veces que se ejecuta la prueba.
El panel de control de los grupos de hilos puede visualizarse en la Figura 13.

Figura 13. Configuración del Panel.
### Ejecución de Plan de Pruebas
> Para la ejecución del plan de prueba, se recomienda no utilizar la interfaz gráfica del JMeter, ya que la herramienta consume un alto porcentaje de la memoria RAM.
* Los pasos para la ejecución del un Plan de Prueba son :
* Abrir una termina `CMD`
* Ir al directorio donde se descomprimio el JMeter
* Ingresar el siguiente comando :

Figura 12. Comando de ejecución JMeter.
Como se puede apreciar en la **Figura 12**, el archivo ejecutado es el **jmeter.bat** con algunos parámetros adicionales.
Los parámetros adicionales son :
* *`-n`* : indica al JMeter que debe ejecutarse en modo no GUI
* *`-t`* : indica al JMeter cual será el archivo de plan de prueba a utilizar
* *`-j`* : indica al JMeter cual será el archivo de log a utilizar
* *`-e`* : indican al JMeter que genere un Dashboard al finalizar el plan de prueba
* *`-o`* : indica al JMeter cual será el archivo donde generará el Dashboard al finalizar el plan de prueba
:::info
El reporte generado después de que el JMeter ejecute el plan de prueba se puede leer desde la GUI del JMeter.
:::
## Referencias
[1] Apache JMeter. JMeter en Español. Recuperado el 15 de octubre del 2021, de https://jmeterenespanol.org/
[2] Apache JMeter. Download Apache JMeter. Recuperado el 15 de octubre del 2021, de https://jmeter.apache.org/download_jmeter.cgi
[3] Halili, E. H. (2008). Apache JMeter. Birmingham: Packt Publishing.