Apache JMeter es un software de código abierto, diseñado totalmente en JAVA para medir el rendimiento y comportamiento de servidores mediante pruebas. Originalmente se diseñó para probar aplicaciones Web, pero se ha ampliado a otras funciones. Se puede utilizar para probar el rendimiento de bases de datos, servidores FTP y mucho más. Se puede utilizar para simular una carga en un servidor, la red o un objeto para poner a prueba su resistencia o para analizar el rendimiento global en diferentes tipos de carga. Puede mostrar un análisis gráfico de rendimiento o para probar el comportamiento de diferentes elementos con un gran volumen de carga y concurrencia.
JMeter es una herramienta de test cuyas funcionalidades son:
Diseñar un plan de testeo, esto genera un fichero .jmx.
Ejecutar el plan.
Ver de distintas formas los resultados de la ejecución del plan.
Para diseñar un plan, JMeter dispone de una interfaz gráfica a modo de diseñador, en la que el testeador puede ir agregando componentes de manera visual, y ejecutar los componentes agregados, viendo el resultado. Una vez finalizado el diseño del plan, la herramienta permite grabarlo como un fichero .jmx.
Antes de nada, instalamos java.
Descargamos Jmeter, lo descomprimimos en una carpeta, por ejemplo C:\jmeter
En C:\JMeter\Bin ejecutamos jmeter.bat y se abre la pantalla de inicio de JMeter.
En Linux
Hacemos
/etc/jmeter/apache-jmeter/bin/jmeter.sh
Para crear un plan de pruebas, lo primero será crear usuarios.
Añadir Usuarios
Sobre Plan de Pruebas con el botón derecho del ratón seleccionamos la opción Añadir -> Hilos (Usuarios) -> Grupo de Hilos.
En la pantalla que sale podemos configurar los usuarios.
En este caso modificamos el número de hilos para que tenga 10 hilos.
Establece el número de veces que debe ejecutar la prueba Por ejemplo, si se utilizan 4 hilos, y el período es de 8 segundos, cada hilo se iniciará 4 (8/4) segundos después de que el hilo anterior comenzó. Otro ejemplo: Si hubiera 20 hilos y un período de 100 segundos, cada hilo se ejecutara durasnte 5 segundos.
Después configuramos el grupo de hilos para que realicen algún tipo de petición .En este caso vamos a elegir una petición ftp.
En añadir -> Elemento de Configuracion -> Valores por defecto para petición FTP.
Le indicamos la ip del servidor y el archivo a transferir durante las pruebas.
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.
El campo fichero local también se rellena igual que el fichero remoto.
Ahora necesitamos alguna forma de saber si las peticiones que lanzamos se ejecutan de forma correcta. Para ello usaremos el Receptor el cual se encarga de almacenar los resultados. En este caso usaremos el Reporte de resumen que es el más sencillo.
Realizada esta operación nos aparecerá un nuevo elemento.
El icono verde de play del plan de pruebas permite ejecutarlo con los 10 Hilos que hemos creado. Pero antes es necesario guardar el plan de pruebas.
Guardar el Plan de Pruebas
Para guardar el plan de pruebas seleccionamos “Guardar” o “Guardar como, Plan de Pruebas”
Y le decimos donde guardar el plan de pruebas como archivo .jmx
Ejecución de un plan de pruebas
Para ejecutar el plan de pruebas, seleccionamos en el menú Lanzar ->-Arrancar, o con el triángulo verde de la barra de botones.
Detener una prueba
Control + Permite que se termine la ejecución en curso
Otros Elementos de un plan de pruebas
Controllers (Controladores)
Hay dos tipos de controladores:
Samplers (Muestreador). Se utiliza para enviar peticiones a un servidor. Por ejemplo, se debe añadir un muestreador de solicitud FTP, si se desea que JMeter envíe una petición FTP.
Logical Controllers (Controladores Lógicos). Permiten personalizar la lógica que JMeter utilizará para decidir cuándo enviar las solicitudes.
Samplers (Muestreadores)
Los Muestreadores se utilizan para enviar peticiones a un servidor y esperar una respuesta. Se ejecutan en el orden en que se muestran en el árbol. Los controladores se utilizan para modificar el número de repeticiones de cada muestra. Estos incluyen:
Solicitud de FTP
Solicitud HTTP
Solicitud de JDBC
Java Object Request
Solicitud de LDAP
Solicitud SOAP / XML-RPC Solicitud WebService (SOAP)
Dependiendo del tipo de Servidor será necesario indicar información asociada al servidor: nombre, puertos, rutas, protocolos, etc. Así como el uso que se quiera dar a las respuestas del servidor, que permitirán la generación de gráficas o tablas con los resultados obtenidos de la simulación.
Logic Controllers (Controladores lógicos)
Permiten personalizar la lógica para decidir cuándo enviar las solicitudes. Es posible modificar el orden de cada solicitud de cada elemento, establecer condiciones, intervalos o repeticiones.
Test Fragments (Fragmentos de prueba)
No se ejecuta a menos que se añada el elemento Include Controller. Su objetivo principal es la reutilización de código dentro de los planes de prueba.
Listeners (Receptores)
Un Receptor facilita el acceso a la información de JMeter. Escucha los tiempos y proporciona gran cantidad de información de forma gráfica. Muestra los detalles de las solicitudes de todas las respuestas de los servidores en HTML y XML, también envía los datos a un archivo. Cada receptor en JMeter contiene un campo para indicar el archivo que almacenará los datos. También tiene un botón de configuración que permite elegir los campos a guardar, y el formato a utilizar: CSV o XML. Los receptores se pueden añadir en cualquier lugar de la prueba, incluso directamente al inicio.
Timers (Temporizadores)
Por defecto, un hilo JMeter envía peticiones sin pausa entre cada solicitud, aunque se recomienda especificar un retraso añadiendo uno de los temporizadores del grupo de hilos. Si no se agrega un retraso, JMeter puede saturar el servidor, para agregar más de un temporizador para un grupo de hilos, JMeter coge la suma de los contadores de tiempo y se detiene durante ese tiempo antes de ejecutar las muestras a las que se aplican los temporizadores. Los temporizadores se pueden añadir como hijos de muestras o controladores para restringir las muestras a los que se aplican.
Assertions (Afirmaciones)
Permiten recibir datos de las respuestas recibidas desde el servidor que se está probando. Usando una afirmación, podemos probar si la aplicación devuelve los resultados esperados. Es posible agregar una afirmación a cualquier muestreador. Por ejemplo, podemos añadir una afirmación a una petición FTP. Si JMeter no puede ejecutar la orden, entonces se marcará como una solicitud con error.
Configuration Elements (Elementos de configuración)
Trabajan en colaboración con Muestreadores, acceden sólo dentro de la rama de un árbol donde se coloca el elemento. Además, un elemento de configuración dentro de una rama de un árbol tiene mayor prioridad que el mismo elemento en un “padre” rama.
Pre-Processor Elements (Pre-procesadores de elementos)
Es una acción previa a una solicitud Sampler que se está realizando. Si está unido a un elemento de muestreo, se ejecutará antes de este elemento. Se utiliza más para modificar la configuración de una solicitud de muestreo justo antes de que se ejecute, o para actualizar las variables que no se extraen.
Post-Processor Elements (Post- procesadores de elementos)
Ejecuta acciones después de una solicitud Sampler. Cuando está conectado a un elemento de muestreo, se ejecuta justo después de este elemento. Usualmente se utiliza para extraer los valores.
No hay comentarios:
Publicar un comentario