Pruebas con Jmeter

download Pruebas con Jmeter

of 7

Transcript of Pruebas con Jmeter

  • 7/24/2019 Pruebas con Jmeter

    1/7

    Evaluacin de prestaciones de un servicio Web PARTE 2

    PARTE 2.- Introduccin a Apache JMeter

    1. Introduccin

    JMeter1

    es un programa Java diseado para acer pruebas de carga de servidores! pore"emplo servidores #eb$ %tili&aremos este so't#are para evaluar e(perimentalmente lasprestaciones de la con'iguracin de Apace presentada en la parte anterior de esta pr)ctica$

    2. Ejecutando JMeter en el laboratorio

    *esde un terminal puede e"ecutar "meter por e"emplo de la siguiente 'orma+$ /usr/bin/jmeter

    ,i lo desea! el men- ./ptions0 da la posibilidad de elegir un idioma$ Es probable ue no todoest traducido al castellano pero s3 bastante$ *e todas 'ormas! tambin es recomendableacostumbrarse a usar so't#are en ingls$

    Por causas desconocidas! probablemente relacionadas con la instalacin de Java en lasm)uinas del laboratorio! JMeter mucas veces da un error al lan&arse$ Reintenten con elcomando anterior asta lograr ue arranue$

    3. Concepto b!ico obre JMeter

    a) Creando un plan de pruebas con un grupo de hilos

    En la 4lustracin 1 se puede ver la ventana de JMeter al lan&arlo$ El elemento principal enJMeter es lo ue se llama un .Plan de Pruebas0 o .Test Plan01$ El plan de pruebas contendr)

    todos los elementos ue de'inir)n cmo se acen peticiones a un5os servidor5es$

    Ilustracin 1 - Primera ventana de JMeter

    *entro de ese plan de pruebas aadiremos en primer lugar lo ue se llama un .6rupo deilos0 o .Tread 6roup0 mediante el men- ue se despliega al pulsar el botn dereco delratn sobre el plan de pruebas 74lustracin 28$

    1ttp+55"a9arta$apace$org5"meter51ttp+55"a9arta$apace$org5"meter5usermanual5test:plan$tml

  • 7/24/2019 Pruebas con Jmeter

    2/7

    Evaluacin de prestaciones de un servicio Web PARTE 2

    Ilustracin 2 - Aadiendo un grupo de hilos

    El grupo de ilos indica a JMeter ue tendr) ue lan&ar un n-mero de ilos 7.treads08 ; u

    deber)n acer estos ilos$ Todos ellos van a acer los mismo ; ser) lo ue se indiue medianteelementos dentro del grupo de ilos$

  • 7/24/2019 Pruebas con Jmeter

    3/7

    Evaluacin de prestaciones de un servicio Web PARTE 2

    Ilustracin 4 - Insertando elemento de peticin HP

    En la 4lustracin se ve ue emos indicado el servidor ; puerto de nuestro servidor #eb7asumiendo ue corremos Apace ?TTP* ; JMeter en la misma m)uina8 as3 como elcamino 7Pat8 al documento a pedir$ Esto ser3a euivalente a pedir en el navegador #eb+ttp+55localost+FCFG5prueba$tml

    En nuestro caso! al estar corriendo Apace ?TTP* en la m)uina virtual! abr) ue indicarla 4P de la m)uina virtual! una ve& la a;amos arrancado$

    Ilustracin ! - "on#igurando la peticin HP de prue$a

    Para ver los resultados de cada peticin aadimos a continuacin un .

  • 7/24/2019 Pruebas con Jmeter

    4/7

    Evaluacin de prestaciones de un servicio Web PARTE 2

    Ilustracin % - Aadiendo un &istener

    Podemos poner en marca aora el e(perimento mediante la opcin .Arrancar0 del men-.

  • 7/24/2019 Pruebas con Jmeter

    5/7

    Evaluacin de prestaciones de un servicio Web PARTE 2

    Ilustracin ) - Aadiendo un tempori*ador

    En los par)metros de dico tempori&ador se puede indicar la cantidad de tiempo 7enmilisegundos8 ue debe esperar el ilo 74lustracin K8$

    Ilustracin + - Par,metro de retardo en tempori*ador constante

    ?a; ue tener en cuenta ue independientemente del orden en ue estn colocados loselementos dentro del grupo de ilos! en cada iteracin todos los tempori&adores se procesanantes ue los muestreadores$ Es decir! en el e"emplo anterior! en cada iteracin primero se

    blouear3a el ilo durante @CCms ; a continuacin ar3a la peticin ?TTP$ Al terminar derecibir la respuesta del servidor abr3a concluido la iteracin ; si uedaban m)s iteraciones

    por llevar a cabo comen&ar3a de nuevo con el bloueo de @CCms$

    Aumente la pausa del tempori&ador a 2 segundos ; el n-mero de iteraciones a 7manteniendo un solo ilo8 ; compruebe ue 'unciona como se a descrito$

    =on la con'iguracin anterior aumente a @ el n-mero de ilos! con un periodo de subida de@ segundos 7de 'orma ue el lan&amiento de los ilos estar) espaciado en ese tiempo8$Heri'iue con el log del servidor ue el 'uncionamiento es el esperado$

    =ambiamos a continuacin ue el elemento de peticin ?TTP en ve& de pedir /prueba.htmlsolicite/randwait.php $ Para pasarle los par)metros al mismo podemos utili&ar el botn de

    .Aadir0 ; rellenar .>ombre0 ; .Halor0 de cada par)metro 74lustracin 1C8$ Tambin puedenponer el %R< inclu;endo los par)metros en al campo .Pat0 igual ue lo ar3an en unnavegador$

  • 7/24/2019 Pruebas con Jmeter

    6/7

  • 7/24/2019 Pruebas con Jmeter

    7/7

    Evaluacin de prestaciones de un servicio Web PARTE 2

    d) Peticiones rechazadas

    =on la con'iguracin llevada a cabo del elemento .Peticin ?TTPN! cuando se llenan lasposiciones de la cola de cone(iones! una nueva peticin de cone(in T=P por parte de JMeterno es aceptada pero como tampoco recibe una noti'icacin de cierre o aborte! la

    implementacin de T=P del cliente reenv3a al poco tiempo el mensa"e de ,O> asta conseguirestablecer la cone(in$ A partir de aora ueremos ue las cone(iones ue no se completen enel primer intento no se completen mediante retransmisiones sino ue directamente se cuente la

    peticin como reca&ada por el servidor! de 'orma ue e'ectivamente el servidor actuar3acomo un sistema con cola igual al tamao especi'icado con la directivaListenBacklog$

    Emplearemos para ello el par)metro .Timeout0 de .=onnect0 ue se ve en la 4lustracin $ ,itranscurre el tiempo especi'icado a3 sin ue se a;a terminado de establecer la cone(in T=Pentonces JMeter abortar) le peticin ?TTP! marc)ndola como reca&ada ; pasando alsiguiente elemento o iteracin$ *ebemos con'igurar au3 un valor ue sea ma;or ue el tiempoue suele tardar en establecerse la cone(in pero poco m)s grande de 'orma ue no se dtiempo a ue a;a una retransmisin del ,O> ; pueda establecerse la cone(in porue a;a

    uedado libre el servidor o alguna posicin de memoria en la cola$

    =ree un plan de pruebas en el ue se produ&can reca&os de las peticiones ; capture en'icero su'iciente in'ormacin como para calcular u porcenta"e de las peticiones sonreca&adas$

    Pruebe otros .