pruebas de carga utilizando jmeter

Upload: jecri-dosantos-ocmin

Post on 07-Jan-2016

240 views

Category:

Documents


0 download

DESCRIPTION

Pruebas de Carga Utilizando Jmeter

TRANSCRIPT

PRUEBAS DE CARGA UTILIZANDO JMETERJMeter es un proyecto de Apache que puede ser utilizado como una herramienta de prueba de carga para analizar y medir el desempeo de una variedad de servicios, con nfasis en aplicaciones web.En este informe se ver dos tipos de prueba, la primera consiste en una prueba bsica de carga a una aplicacin web, la segunda ser grabando una navegacin a travs de la pgina para posteriormente realizar las pruebas de carga.Estas pruebas sern realizadas sobre una aplicacin web que se encuentra en el propio equipo.PRUEBAS DE CARGA:Este es el tipo ms sencillo de pruebas de rendimiento. Una prueba de carga se realiza generalmente para observar el comportamiento de una aplicacin bajo una cantidad de peticiones esperada. Esta carga puede ser el nmero esperado de usuarios concurrentes utilizando la aplicacin y que realizan un nmero especfico de transacciones durante el tiempo que dura la carga. Esta prueba puede mostrar los tiempos de respuesta de todas las transacciones importantes de la aplicacin. Si la base de datos, el servidor de aplicaciones, etc. tambin se monitorizan, entonces esta prueba puede mostrar el cuello de botella en la aplicacin.HERRAMIENTAS Y ENTORNO UTILIZADOS: Sistema operativo Windows 10 XAMPP Apache JMeter 2.13 Navegador para prueba Mozilla FirefoxCONTENIDO:1. Instalacin de JMeter2. Prueba de carga bsicaa. Configuracin de JMeterb. Prueba con 5 usuariosc. Prueba con 10 usuariosd. Prueba con 15 usuariose. Comparacin de tiempos3. Grabacin de navegacin4. Prueba de carga de navegacina. Configuracin de JMeterb. Configuracin de Mozilla Firefoxc. Prueba con 5 usuariosd. Prueba con 10 usuarios

1. INSTALACIN DE JMETERPara descargar JMeter accedemos a la siguiente direccin http://jmeter.apache.org/ y accedemos en Dowload Releases.

Figure 1 Pgina oficial JMeterLuego descargamos en la opcin apache-jmeter-2.13.zip

Figure 2 Descarga JMeter

Una vez que contamos con el archive .zip se descomprime, de preferencia guardarlo directamente en el disco C.

Figure 3 Descomprimir el archivoUna vez descomprimidos obtendremos una carpeta apache-jmeter-2.13, dentro accederemos a la carpeta /bin donde encontraremos el archivo ejecutable jmeter.bat que ser ejecutado en modo administrador.

Figure 4 Jmeter/apache-jmeter-2.13/bin

Este ser el entorno con el que se trabajar en JMeter

Figure 5 Entorno de trabajo Jmeter

2. PRUEBA DE CARGA BASICAa. ConfiguracinEl 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: parmetros empleados por requisicin, tipo de reportes a generarse con los resultados obtenidos, la posible reutilizacin de requisiciones compuestas por usuarios, entre otros aspectos. Para comenzar con esta prueba necesitamos simular los usuarios que intentarn acceder a nuestra aplicacin, para ello, desde la primera opcin, Plan de Trabajo Aadir Hilos (Usuarios) Grupo de Hilos.

Figure 6 Agregando un Grupo de Hilos (Usuarios)Una vez dentro de Grupo de Hilos se encuentran los siguientes campos: Nombre: Indica el nombre que se le asignara a la prueba. Nmero de Hilos: Nmero de usuarios que se simular. Periodo de subida: Es el lapso de tiempo en segundos que se desea tener entre cada grupo de usuarios. Siempre: Esto es para indicar si la simulacin para grupos de usuarios se realizar infinitamente, esto es, si se selecciona esta opcin indica que desea simular la cantidad de usuarios ingresada, esperando el tiempo de periodo de subida, luego volver a simular los mismos usuarios por la misma cantidad de tiempo infinitamente. Por lo que esta opcin se mantiene desactivada.

Figure 7 Grupo de HilosUna vez definidas las caractersticas del grupo de usuarios se agregar una Peticin HTTP. Para ello se acceder desde el Grupo de Hilos creados, Grupo de Hilos Aadir Muestrador Peticin HTTP.

Figure 8 Agregando una Peticin HTTP

Nombre de Servidor o IP: En este caso utilizaremos la direccin IP 127.0.0.1 para trabajar una aplicacin local. Puerto: Define el puerto TCP de operacin del servidor, se utilizar el puerto 8088. Ruta: Utilizado para definir la ruta de acceso para llevar acabo la prueba, ser definido /prestashop/index.php.Para esto se necesita tener levantado el servicio de Apache de XAMPP con la configuracin de puerto adoptada y la ruta del servicio a utilizar.

Figure 9 Ingresar informacin para Peticin HTTP

Para observar los resultados agregaremos dos receptores de muestra desde la Peticin HTTP:Peticin HTTP AadirReceptoresGrfico de ResultadosPeticin HTTP AadirReceptoresVisualizador Spline

Figure 10 Agregar ReceptoresHasta este punto tenemos todo listo para iniciar las pruebas con diferentes cantidades de usuarios.

b. Prueba con 5 usuariosIngresamos los siguientes datos. Numero de Hilos: 5 Periodo de Subida: 2 Contador de bucle: 4Esto significa que 5 personas intentaran ingresar durante 2 segundos a la pgina 4 veces.

Figure 11 Insertar parmetros al Grupo de HilosResultados:

Figure 12 Resultado de prueba de 5 usuarios

c. Prueba con 10 usuariosIngresamos los siguientes datos. Numero de Hilos: 10 Periodo de Subida: 2 Controlador de bucle: 4Esto significa que 10 personas intentaran ingresar durante 2 segundos a la pgina 4 veces.

Figure 13 Insertar parmetros al Grupo de HilosResultados:

Figure 14 Resultado de prueba de 10 usuarios

d. Prueba con 15 usuariosIngresamos los siguientes datos. Numero de Hilos: 15 Periodo de Subida: 2 Controlador de bucle: 4Esto significa que 15 personas intentaran ingresar durante 2 segundos a la pgina 4 veces.

Figure 15 Insertar parmetros al Grupo de HilosResultados:Figure 16 Resultado de prueba de 15 usuariose. Comparacin de tiempos

Figure 17 % Usuarios Figure 18 10 Usuarios

Figure 19 15 Usuarios3. GRABACIN DE NAVEGACINEn esta parte del informe se mostrar como grabar sobre Apache JMeter una navegacin real sobre una aplicacin web para posteriormente poder reproducirla con distintos nmeros de usuarios concurrentes con el fin de obtener informacin de cmo se comporta nuestra aplicacin bajo esas situaciones.a. Configuracin de Jmeter Agregar un grupo de hilos para indicar el nmero de usuarios concurrentes y de repeticiones que posteriormente ejecutarn la navegacin que grabaremos. Plan de Pruebas Aadir Hilos Grupo de Hilos.Si la aplicacin usa cookies se deber agregar un gestor de cookies al grupo de hilos, para ello seleccionas el grupo de hilos.Plan de Pruebas Aadir Elementos de Configuracin Gestor de Cookies HTTP. Agregar Valores por Defecto para Peticin HTTP.Plan de Pruebas Aadir Elementos de Configuracin Valores por Defecto para Peticin HTTP. Protocolo: Ingresamos el protocolo utilizado por la aplicacin donde se realizarn las que por defecto es HTTP. Nombre de Servidor o IP: nombre o IP del servidor donde corre la aplicacin. Puerto: Puerto por el cual se accede a la aplicacin (al valor que ingresemos aqu lo vamos a llamar Puerto de la aplicacin

Figure 20 Valores por Defecto para Peticin HTTP Agregar un HTTP Proxy ServerBanco de Trabajo Aadir Elementos NoDePrueba Servidor Proxy HTTP

Figure 21 Estructura para NavegacinCONFIGURACION DE SERVIDOR PROXY HTTPEl HTTP Proxy grabar todas las peticiones http que vayamos realizando posteriormente con nuestro navegador. Se debe aclarar que como lo que el Proxy hace es grabar los requests que son enviados al servidor no pueden ser grabados aquellos request que utilicen HTTPS, ya que como el HTTPS es seguro, el Proxy no puede decodificar el trfico y grabar los parmetros o cookies que maneje el servidor. Se debe configurar lo siguiente: El parmetro puerto indica el puerto en el que escuchar las peticiones a grabar. Lo configuraremos con 8080. El parmetro Controlador Objetivo indica que grupo de hilos (puede haber varios) sern el que ejecuten posteriormente la navegacin. Escogeremos Plan de pruebas > Grupo de Hilos. El parmetro Agrupacin indica cmo se agruparn una peticin y las subpeticiones relacionadas, por ejemplo: Una pgina HTML, hace que se soliciten imgenes, JS, CSS, etc.Lo dejaremos en No Agrupar Muestreadores. El Parmetro de muestra HTTP Tipo, indica el API de cliente que usaremos para enviar las peticiones. Utilizaremos HttpClient 4

Figure 22 Configuracin de Servidor Proxy HTTPEl siguiente paso es configurar un navegador, en este caso Mozilla Firefox (Puede configurarse cualquier navegador), para que escuche solo el puerto 8080 del servidor Proxy.

b. Configuracin de Mozilla FirefoxAcceder desde la barra de bsqueda a la siguiente direccin about:preferences#advancedUna vez dentro de la pgina que se muestra acceder a la pestaa Configuracin...

Figure 23 Acceder a la configuracin de Mozilla FirefoxFigure 24 Configuracin del Proxy

La ventana que surgir es la de Configuracin de conexin. Lo configuraremos de la siguiente manera: Proxy HTTP: Localhost Puerto:8080 Como usaremos una aplicacin en la maquina local dejaremos en blanco el parmetro No usar proxy para.

Para iniciar la grabacin volvemos a la ventana del Servidor Proxy HTTP y damos la opcin de Arrancar.

Figure 25 Arrancar la grabacinAhora accedemos a nuestra aplicacin desde el navegador y realizamos una navegacin que ser grabada para posteriormente realizar las pruebas de carga.La aplicacin es una Web de tienda en la que grabaremos la navegacin de agregar un producto al carrito de compras.

Al terminar esta navegacin detenemos el Servidor ProxyY Obtendremos los siguientes resultados:

Figure 26 Navegacin GrabadaLas peticiones HTTP se quedan grabas tal cual se realiz la navegacin sobre la pgina. Se puede obviar elementos como imgenes, hoja de estilos, JavaScript, etc., segn los criterios de la prueba.La navegacin consisti en tres interacciones bsicamente:1. Acceder a la pgina:51 /prestashop/2. Aadir al carrito:55 /prestashop/?rand=14438136990993. Ir a la caja:56 /prestashop/pedido

4. PRUEBA DE CARGA DE NAVEGACINAgregamos receptores para medir los tiempos de las interacciones que realizamos en la pgina... Aadir Receptores Las pruebas se harn con una sola interaccin durante 2 segundos.

a. Prueba con 5 usuarios

RESULTADOS DE LA PRUEBA:1. Acceder a la pgina:51 /prestashop/

2. Aadir al carrito:55 /prestashop/?rand=1443813699099

3. Ir a la caja:56 /prestashop/pedido

b. Prueba con 10 usuarios

RESULTADOS DE LA PRUEBA:1. Acceder a la pgina:51 /prestashop/

2. Aadir al carrito:55 /prestashop/?rand=1443813699099

3. Ir a la caja:56 /prestashop/pedido