Está en la página 1de 39

MNCS: Investigacin, desarrollo y gestin de la

calidad

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


ndice

MNCS: Metodologas, Normalizacin y Calidad del Software.


Investigacin y diseo.
Gestin de los desarrollos MEDEA
Test de carga
Componentes Hardware
Componentes Software
Elementos de testeo
Tipos de test de carga
Puntos crticos
Interpretando resultados
Diseando un test de carga
Herramientas Software
JMeter
LoadUI
Ejercicios
2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.
MNCS: Investigacin y diseo.

Estudio e investigacin de componentes software:


Tecnologas de desarrollo.
Herramientas monitorizacin y control de software .
Herramientas de testeo de aplicaciones y depuracin.
Punto de unin entre los desarrollos realizados y los servidores
fsicos que los soportan.
Diseo de estructuras software adaptadas a los requerimientos
del hardware especificado por la seccin de sistemas.
Estructura de libreras.
Diseo de actualizadores.
Libreras especficas
etc

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


MNCS: Gestin de desarrolos.

Gestin del proceso de desarrollo de aplicaciones


software.
Recogida de requisitos
Gestin de cambios
Control de calidad del software
Control de entornos de pruebas y test
Integracin continua de aplicaciones.
MEDEA: Metodologa diseada para el control de todo el
ciclo de desarrollo desde la toma de requisitos hasta la
puesta en marcha en los servidores.

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


MNCS: MEDEA

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


ndice

MNCS: Metodologas, Normalizacin y Calidad del Software.


Investigacin y diseo.
Gestin de los desarrollos MEDEA
Test de carga
Componentes Hardware
Componentes Software
Elementos de testeo
Tipos de test de carga
Puntos crticos
Interpretando resultados
Diseando un test de carga
Herramientas Software
JMeter
LoadUI
Ejercicios
2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.
Test de carga

Ideados para testear el rendimiento de las aplicaciones en


diferentes situaciones.
Obtiene medidas de:
Rendimiento general del sistema.
Respuesta ante picos de carga.
Respuesta ante una alta carga sostenida.
Componentes a testear:
Elementos Hardware: Servidores, balanceadores, cachs
Elementos Software: Balanceadores, sistemas de cach,
bases de datos, servidores
2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.
Test de carga

Su importancia es crtica a la hora de asegurar que los


recursos disponibles son los adecuados.
El anlisis de resultados nos permite:
Conocer exactamente los recursos que debemos asignar.
Detectar puntos crticos y cuellos de botella.
Comprobar robustez del sistema a nivel hardware/software.
A la hora de gestionar un sistema las aplicaciones deben
tener los recursos que necesitan, ni ms, ni menos.
Los test de carga permiten simular con detalle las cargas
estimadas para asignar los recursos adecuadamente.
2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.
Componentes Hardware

Los componentes Hardware involucrados en un sistema


distribuido son:
Servidores: Principalmente de aplicaciones y web, aunque
existen otros tipos segn el mbito en el que trabajemos.
Balanceadores: Estn por encima de los servidores,
principalmente son Software pero tambin los encontramos
Hardware.
Base de datos: En un solo nodo o distribuida, se encuentra
por debajo de los servidores.
Otros: Servidores Industriales (robtica), macro
procesadores, etc

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Componentes Hardware

Definicin del sistema:


Cluster DB de 2 nodos.
Cluster WS de 3 nodos.
Balanceador Hardware de un nodo.

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Componentes Software

Los componentes Software que normalmente


encontraremos son:
Servidores: Weblogic, GlassFish, Tomcat, Apache ...
Balanceadores: Zen LoadBalancer, Kemp, BalanceNG ...
Base de datos: Oracle, MySql, Postgres .
Estos componentes estn limitados por las caractersticas
del Hardware que los engloba.
Es crtico gestionar la mejor configuracin
Hardware/Software para lo que necesitamos.

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


ndice

MNCS: Metodologas, Normalizacin y Calidad del Software.


Investigacin y diseo.
Gestin de los desarrollos MEDEA
Test de carga
Componentes Hardware
Componentes Software
Elementos de testeo
Tipos de test de carga
Puntos crticos
Interpretando resultados
Diseando un test de carga
Herramientas Software
JMeter
LoadUI
Ejercicios
2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.
Tipos de test de carga

Existen tres tipos principales de test de carga:


Test de carga (realista): Valora la reaccin del sistema ante una
carga promedio de accesos. Permite verificar que el sistema
funciona correctamente durante largos periodos de tiempo.
Test de rendimiento: Empezando con una carga promedio y
aumentando poco a poco hasta llegar al lmite del sistema. Nos
indica cmo responde el sistema ante el aumento de carga y
dnde est su mximo.
Test de estrs (con picos): Lanza diversos test con diferentes
cargas de manera intercalada para ver cmo se comporta el
sistema con picos de carga y sobre su punto mximo.

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Puntos crticos

A la hora de montar un sistema debemos identificar


claramente los puntos crticos y testearlos a conciencia
para evitar errores en la ejecucin de las aplicaciones.
Factores a tener en cuenta:
Concurrencia de aplicaciones.
Sincronizacin de los nodos.
Gestin de sesiones/estado de la comunicacin cliente-
servidor.
Timeouts.

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Puntos crticos

Cada tipo de servidor tiene unas restricciones propias, por


ejemplo:
Servidor Base de Datos:
Sincronizacin de datos.
Gestin de bloqueos.
Gestin de la recuperacin de un nodo. (Actualizacin de los
datos, activar el nodo).
Servidor Web/Aplicaciones:
Manejo de sesiones. (Mantenimiento y distribucin de la
sesin).
Gestin de diferentes aplicaciones de manera concurrente.

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Puntos crticos

El balanceador, en caso de tenerlo, es el nico punto de


acceso al sistema, por lo que su correcto funcionamiento
es prioritario.
Puede existir un nico balanceador, o encontrarse varios
en paralelo.
Es importante, tener un sistema de balanceo de respaldo
por si el sistema principal se cae evitar que el sistema
quede inaccesible.
Un correcto algoritmo de balanceo asegura una
optimizacin de los recursos.

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Interpretando resultados

Interpretar de manera adecuada los resultados es muy


importante para establecer una configuracin ptima del
sistema.
En ocasiones resulta necesario repetir los test de manera
individualizada sobre determinados componentes
hardware para aumentar el nivel de detalle.
Existe un gran espectro de datos a tener en cuenta, pero
los bsicos son:
Errores detectados.
Tiempo de respuesta (Latencia).
Tiempo de recuperacin.
2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.
Interpretando resultados

Errores detectados
Nos indica todas las peticiones que no pudieron ser atendidas
porque el sistema est sobrecargado.
Debemos identificar quien es el causante de la cada y el motivo.
No se responde a las peticiones (TimeOut) -> El balanceador o los
servidores no responden.
Se responde con un mensaje de error -> Los servidores notifican por
mal funcionamiento del sistema o de la base de datos.
Con una carga alta, puede considerarse normal que algunas
peticiones fallen.
Ataque Denegacin de Servicio (DoS): Miles o millones de
equipos hacen solicitudes a un servidor, sobrecargndolo e
impidiendo que responda, o lo haga con mucho retardo.

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Interpretando resultados

Tiempo de respuesta (Latencia).


El tiempo de respuesta nos indica cmo de sobrecargados
estn los servidores.
Es una medida que nos permite determinar si debemos
ampliar el sistema o reconfigurarlo.
Es un factor a reducir lo mximo posible, cuanto menor sea
este valor mejor ser la configuracin del sistema.
En momentos pico, la latencia subir, el objetivo es
contenerla dentro de un rango adecuado y baja en las zonas
valle.

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Interpretando resultados

Tiempo de recuperacin.
Es el tiempo que tarda el sistema en recuperarse de la cada
de alguno de sus componentes.
Es muy importante que el sistema est disponible el mayor
tiempo posible.
Es conveniente tener servidores de respaldo, inactivos pero
actualizados, que retomen el control cuando los principales
caigan.
Debemos tener bien cubiertos los cuellos de botella.

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


ndice

MNCS: Metodologas, Normalizacin y Calidad del Software.


Investigacin y diseo.
Gestin de los desarrollos MEDEA
Test de carga
Componentes Hardware
Componentes Software
Elementos de testeo
Tipos de test de carga
Puntos crticos
Interpretando resultados
Diseando un test de carga
Herramientas Software
JMeter
LoadUI
Ejercicios

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Diseando un test de carga

A la hora de disear el test, debemos llegar a los lmites del


sistema, sin perder de vista el objetivo real, que es que con una
carga normal funcione todo.
Los casos extremos son puntuales, por lo que prima que el
sistema est siempre activo antes que obtener un bajo tiempo
de respuesta.
https://wiki.um.es/wikis/programador/doku.php?id=migralinux:mi
gracion_bd_a_rac
Por lo tanto, proponemos la siguiente estructura de test:
Localizacin de lmites y ajuste del sistema.
Test de carga en lmite -1.
Test de carga en con trfico normal.
Simulacin de cadas de equipos para los test anteriores.

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Diseando un test de carga

La simulacin de cadas de equipos nos dar una medida


ms exacta de cmo puede responder el sistema ante
cualquier problema.
Con una carga normal, si se mantiene la disponibilidad con
tiempos razonables, la estructura global del sistema se
puede dar como vlida.
Manteniendo la disponibilidad, a mejor tiempo de
respuesta, mejor estructura global del sistema.

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Herramientas Software

Es imposible simular el acceso concurrente de miles de


equipos de manera simultnea.
Es necesario disponer de una herramienta que permita
emular dichas conexiones.
JMeter: Herramienta Java que permite emular mltiples
conexiones y procesos de navegacin complejos.
http://jmeter.apache.org/
LoadUI: Herramienta Java FX, que permite, en su versin
gratuita, emular test de carga simples.
http://www.loadui.org/

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Herramientas Software: JMeter

JMeter es una herramienta de software libre proporcionada


por Apache para la generacin de test de carga.
Esta desarrollado en Java al 100% lo que permite una fcil
modificacin y extensin.
Presenta una interfaz clara con multitud de elementos para
medir el rendimiento del sistema.
Permite simular la navegacin de un usuario a travs de un
flujo de datos.
Incorpora un servidor proxy para capturar las peticiones
que queremos incluir posteriormente en el test.

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Herramientas Software: JMeter

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Herramientas Software: JMeter

Controlador simple: Gestiona el test

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Herramientas Software: JMeter

Sevidor proxy: Prepara el test

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Herramientas Software: JMeter

Muestreadores: Obtiene los datos del test

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Herramientas Software: LoadUI

Preparacin del test de carga:


Creamos un grupo de hilos.
Creamos un controlador.
Creamos un servidor proxy en JMeter.
Modificamos el navegador para que acceda a internet a
travs de nuestro servidor proxy.
Ejecutamos las consultas.
Paramos el servidor.
Repasamos nuestro plan de pruebas eliminando consultas
redundantes.
Lanzamos nuestro test.

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Herramientas Software: LoadUI

Generadores de flujo de llamadas

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Herramientas Software: LoadUI

Mdulos de ejecucin

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Herramientas Software: LoadUI

Procesadores de estadsticas

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Herramientas Software: LoadUI

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


ndice

MNCS: Metodologas, Normalizacin y Calidad del Software.


Investigacin y diseo.
Gestin de los desarrollos MEDEA
Test de carga
Componentes Hardware
Componentes Software
Elementos de testeo
Tipos de test de carga
Puntos crticos
Interpretando resultados
Diseando un test de carga
Herramientas Software
JMeter
LoadUI
Ejercicios

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Ejercicios

Ejercicio JMeter:
Crear un test de carga para las url:
www.um.es
www.todofp.es
www.carm.es
Probar los diferentes tipos de receptores:
rbol de resultados.
Response Time Graph.
Resultados en rbol.
Reporte resumen.
Comprobar las tasas de error y diferencia de respuesta en
ambos test.
2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.
Ejercicios

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Ejercicios

Ejercicio LoadUI:
Repetir el ejercicio anterior con LoadUI
Observar los resultados obtenidos

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.


Ejercicios

2012. rea de las Tecnologas de la Informacin y las Comunicaciones Aplicadas.

También podría gustarte