Publicado el 25 de Junio del 2017
3.074 visualizaciones desde el 25 de Junio del 2017
2,8 MB
43 paginas
Creado hace 10a (24/06/2014)
Proyecto ASIR
Miguel Ángel Ávila Ruiz
Miguel Ángel Ávila Ruiz
Índice de contenido
1. Introducción......................................................................................................................................3
2. Apache JMeter..................................................................................................................................3
2.1 Instalación Apache JMeter .......................................................................................................3
2.2 Realización de plan de pruebas..................................................................................................5
2.2.1 Grupos de hilos..................................................................................................................5
2.2.2 Grabación de la navegación ..............................................................................................7
2.2.3 Controladores...................................................................................................................13
2.2.4 Contadores.......................................................................................................................14
2.3.5 Temporizador...................................................................................................................15
2.2.6 Receptores, obtención de resultados................................................................................16
2.3 Inyectores ................................................................................................................................22
2.3.1 Instalación de clientes .....................................................................................................22
2.3.2 Configuración de los clientes...........................................................................................22
2.3.3 Ejecución de prueba con inyectores remotos...................................................................23
3 Hyperic............................................................................................................................................25
3.1 Instalación Hyperic..................................................................................................................25
3.1.1 Instalación Hyperic Server...............................................................................................25
3.1.2 Instalación Agente Hyperic..............................................................................................32
3.2 Acceso a Hyperic.....................................................................................................................35
3.3 Acondicionando Hyperic.........................................................................................................36
3.3.1 Configuración Tomcat para monitorio.............................................................................37
3.3.2 Configuración MySQL para monitorio............................................................................40
4. Conclusión......................................................................................................................................42
5. Referencias.....................................................................................................................................43
2
Miguel Ángel Ávila Ruiz
1. Introducción
Este documento se realiza para la entrega del proyecto integrado del ciclo superior de
Administración de Sistemas informáticos en Red del centro I.E.S. Gonzalo Nazareno. En el se
estudian varias herramientas, Apache JMeter e Hyperic que combinadas sirven para la realización
de pruebas de rendimiento principalmente de aplicaciones web.
Con Apache JMeter se hará una carga personalizada de peticiones a la aplicación web, con Hyperic
se monitorizará la maquina en la que esta desplegada dicha aplicación con lo que podremos
observar si las características físicas son soportadas por dicha carga.
La finalidad de las pruebas que se realicen con este sistema entre otras podría ser la de poner a
prueba la aplicación antes de su publicación para conocer si esta preparada para las peticiones que
se prevean o bien para ir conociendo el rendimiento conforme se trata de mejorar el de alguna
aplicación.
2. Apache JMeter
Apache JMeter es una herramienta diseñada para medir el rendimiento originalmente de
aplicaciones Web pero además puede ser usado como una herramienta de pruebas para conexiones
de bases de datos, FTP, LDAP, TCP, etc...
Se puede utilizar para simular una carga pesada en el servidor, grupo de servidores, la red o el
objeto a probar su resistencia o para analizar el rendimiento general bajo diferentes tipos de carga.
Se puede utilizar para hacer un análisis gráfico de rendimiento o para probar el comportamiento del
servidor bajo una carga concurrentemente pesada.
Sus funcionalidades se pueden resumir en tres:
– Diseñar un testplan (plan de pruebas), en el que se genera un fichero *.jmx.
– Ejecutar un testplan .
– Ver las distintas formas los resultados de la ejecución de un testplan.
2.1 Instalación Apache JMeter
Para comenzar procederemos a instalar Java puesto que es necesario para el funcionamiento de la
herramienta Apache JMeter:
Instalación de Java:
aptget install openjdk7jre
3
Miguel Ángel Ávila Ruiz
Descargamos Apache JMeter y lo extraemos en el directorio deseado, lo propio sería hacerlo en
/opt.
wget http://ftp.cixug.es/apache//jmeter/binaries/apachejmeter2.11.tgz
mv apachejmeter2.11.tgz /opt
tar xvzf apachejmeter2.11.tgz
Posteriormente descargamos también el plugin JmeterPlugins-Standard que nos dará mas juego a
la hora de realizar tests al permitirnos realizar peticiones mas complejas, y como pone en el fichero
README descargamos el contenido en /opt/apache-jmeter-2.11/lib/ext/ para que JMeter cuente con
este plugin.
wget http://jmeterplugins.org/downloads/file/JMeterPluginsStandard
1.1.3.zip
unzip JMeterPluginsStandard1.1.3.zip
cd lib/ext/
cp * /opt/apachejmeter2.11/lib/ext/
Para poder ejecutar JMeter con el usuario con el que usaremos la herramienta habitualmente en mi
caso “avila” le daremos propiedad:
chown R avila:avila /opt/apachejmeter2.11
Para ejecutar JMeter teniendo en cuenta el proxy y el puerto que estamos usando para acceder a
internet lo haremos de la siguiente manera:
avila@flamingos:/opt/apachejmeter2.11/bin$ ./jmeter.sh H 192.169.32.2 P
8000
Si no es el caso para ejecutar JMeter de forma normal podemos ejecutarlo desde el directorio donde
se encuentra:
avila@flamingos:/opt/apachejmeter2.11/bin$ ./jmeter.sh
O podemos añadir el directorio en la variable de entorno para ejecutarlo desde cualquier
ubicación:
echo 'export PATH=/opt/apachejmeter2.11/bin/:$PATH' >> /home/avila/.bashrc
4
Miguel Ángel Ávila Ruiz
2.2 Realización de plan de pruebas
Un “plan de pruebas” es aquella configuración que define todos los aspectos de la prueba a realizar,
como contra a qué se realizará, las peticiones que se harán y de qué modo, datos a introducir,
definición de errores, que tipo de resultados obtendremos,... Los planes de pruebas generar ficheros
de extensión .jmx.
En los siguientes puntos veremos como generar un plan de pruebas con las principales
funcionalidades que JMeter cuenta.
2.2.1 Grupos de hilos
En un testplan (Plan de pruebas) lo habitual es añadir un “Grupo de Hilos” que representa el
número de usuarios que ejecuta el test plan por ello es necesario que haya al menos uno en todo
plan de pruebas. Cada uno de los hilos del grupo ejecutará el plan de forma completamente
independiente a los demás hilos.
Lo que haremos será definir un grupo de hilos para indicar el numero de usuarios concurrentes y de
repeticiones que se ejecutaran en el test de rendimiento:
5
Miguel Ángel Ávila Ruiz
Después configuraremos el grupo de hilos, añadiendo una nueva linea en la que definiremos los
parámetros:
– Start Threads Count: Los hilos con los que se van a comenzar a trabajar a darle
– Initial Delay, sec: Los segundos que trascurrirán para que empiecen a cargarse los hilos
peticiones.
tras arrancar la prueba.
– Startup Time, sec: El tiempo que tendrán los hilos para ir cargándose se incrementaran
teniendo en cuenta el numero de hilos entre los segundos especificados.
– Hold Load For, sec: El tiempo que estarán todos los hilos activos.
– Shutdown Time: El tiempo que tardaran en ir cerrandose cada hilo en función de la
cantidad.
Esta configuración simple y de poca carga se creará 10 clientes que se irán incrementando en un
tiempo de 30 segundos y que se mantendrán haciendo peticiones 60 segundos y a partir de ahí irán
decrementándose durante otros 10 segundos:
6
Miguel Ángel Ávila Ruiz
Entre otras cosas podemos hacer también que las peticiones en vez de crecer y decrecer tan solo una
vez puedan comportarse de otra manera, en la siguiente configuración de grupos de hilos añadimos
una nueva linea a la que que vez que se cargan todos los hilos de la primera linea se le suman los
que especificamos de la segunda.
Así de este modo podremos predefinir una carga tan larga y variable como deseemos.
2.2.2 Grabación de la navegación
Para especificar en el plan de pruebas las peticiones a la aplicación web que se quiere someter a
pruebas existe una forma automatizada que utiliza una herramienta que captura las peticiones HTTP
que realiza el navegador, a medida que uno navega por la aplicación genera por cada una de estas
peticiones HTTP un componente sampler en el árbol del testplan.
Existen dos herramientas que nos permiten generar de forma automática los samplers de un
TestPlan:
– El componente HTTP Proxy Server de JMeter
– La utilidad Badboy.
El componente HTTP Proxy Server de JMeter graba los requests que son enviados
Comentarios de: Pruebas de rendimiento de aplicaciones Web con Apache JMeter y Huperic (0)
No hay comentarios