La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. MNCS: Investigación, desarrollo y gestión de la calidad.

Presentaciones similares


Presentación del tema: "© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. MNCS: Investigación, desarrollo y gestión de la calidad."— Transcripción de la presentación:

1 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. MNCS: Investigación, desarrollo y gestión de la calidad

2 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Índice MNCS: Metodologías, Normalización y Calidad del Software. – Investigación y diseño. – Gestión de los desarrollos  MEDEA Test de carga – Componentes Hardware – Componentes Software Elementos de testeo – Tipos de test de carga – Puntos críticos – Interpretando resultados Diseñando un test de carga Herramientas Software – JMeter – LoadUI Ejercicios

3 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. MNCS: Investigación y diseño. Estudio e investigación de componentes software: – Tecnologías de desarrollo. – Herramientas monitorización y control de software. – Herramientas de testeo de aplicaciones y depuración. Punto de unión entre los desarrollos realizados y los servidores físicos que los soportan. Diseño de estructuras software adaptadas a los requerimientos del hardware especificado por la sección de sistemas. – Estructura de librerías. – Diseño de actualizadores. – Librerías específicas – etc…

4 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. MNCS: Gestión de desarrolos. Gestión del proceso de desarrollo de aplicaciones software. – Recogida de requisitos – Gestión de cambios – Control de calidad del software – Control de entornos de pruebas y test – Integración continua de aplicaciones. MEDEA: Metodología diseñada para el control de todo el ciclo de desarrollo desde la toma de requisitos hasta la puesta en marcha en los servidores.

5 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. MNCS: MEDEA

6 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Índice MNCS: Metodologías, Normalización y Calidad del Software. – Investigación y diseño. – Gestión de los desarrollos  MEDEA Test de carga – Componentes Hardware – Componentes Software Elementos de testeo – Tipos de test de carga – Puntos críticos – Interpretando resultados Diseñando un test de carga Herramientas Software – JMeter – LoadUI Ejercicios

7 © 2012. Área de las Tecnologías de la Información 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, cachés… – Elementos Software: Balanceadores, sistemas de caché, bases de datos, servidores…

8 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Test de carga Su importancia es crítica a la hora de asegurar que los recursos disponibles son los adecuados. El análisis de resultados nos permite: – Conocer exactamente los recursos que debemos asignar. – Detectar puntos críticos 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 más, ni menos. Los test de carga permiten simular con detalle las cargas estimadas para asignar los recursos adecuadamente.

9 © 2012. Área de las Tecnologías de la Información 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 según el ámbito en el que trabajemos. – Balanceadores: Están por encima de los servidores, principalmente son Software pero también los encontramos Hardware. – Base de datos: En un solo nodo o distribuida, se encuentra por debajo de los servidores. – Otros: Servidores Industriales (robótica), macro procesadores, etc…

10 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Componentes Hardware Definición del sistema: Cluster DB de 2 nodos. Cluster WS de 3 nodos. Balanceador Hardware de un nodo.

11 © 2012. Área de las Tecnologías de la Información 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 están limitados por las características del Hardware que los engloba. Es crítico gestionar la mejor configuración Hardware/Software para lo que necesitamos.

12 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Índice MNCS: Metodologías, Normalización y Calidad del Software. – Investigación y diseño. – Gestión de los desarrollos  MEDEA Test de carga – Componentes Hardware – Componentes Software Elementos de testeo – Tipos de test de carga – Puntos críticos – Interpretando resultados Diseñando un test de carga Herramientas Software – JMeter – LoadUI Ejercicios

13 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Tipos de test de carga Existen tres tipos principales de test de carga: – Test de carga (realista): Valora la reacción 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 límite del sistema. Nos indica cómo responde el sistema ante el aumento de carga y dónde está su máximo. – Test de estrés (con picos): Lanza diversos test con diferentes cargas de manera intercalada para ver cómo se comporta el sistema con picos de carga y sobre su punto máximo.

14 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Puntos críticos A la hora de montar un sistema debemos identificar claramente los puntos críticos y testearlos a conciencia para evitar errores en la ejecución de las aplicaciones. Factores a tener en cuenta: – Concurrencia de aplicaciones. – Sincronización de los nodos. – Gestión de sesiones/estado de la comunicación cliente- servidor. – Timeouts.

15 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Puntos críticos Cada tipo de servidor tiene unas restricciones propias, por ejemplo: – Servidor Base de Datos: Sincronización de datos. Gestión de bloqueos. Gestión de la recuperación de un nodo. (Actualización de los datos, activar el nodo). – Servidor Web/Aplicaciones: Manejo de sesiones. (Mantenimiento y distribución de la sesión). Gestión de diferentes aplicaciones de manera concurrente.

16 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Puntos críticos 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 optimización de los recursos.

17 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Interpretando resultados Interpretar de manera adecuada los resultados es muy importante para establecer una configuración ó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 básicos son: – Errores detectados. – Tiempo de respuesta (Latencia). – Tiempo de recuperación.

18 © 2012. Área de las Tecnologías de la Información 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 caída 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 Denegación de Servicio (DoS): Miles o millones de equipos hacen solicitudes a un servidor, sobrecargándolo e impidiendo que responda, o lo haga con mucho retardo.

19 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Interpretando resultados Tiempo de respuesta (Latencia). – El tiempo de respuesta nos indica cómo de sobrecargados están los servidores. – Es una medida que nos permite determinar si debemos ampliar el sistema o reconfigurarlo. – Es un factor a reducir lo máximo posible, cuanto menor sea este valor mejor será la configuración del sistema. – En momentos pico, la latencia subirá, el objetivo es contenerla dentro de un rango adecuado y baja en las zonas valle.

20 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Interpretando resultados Tiempo de recuperación. – Es el tiempo que tarda el sistema en recuperarse de la caída 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.

21 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Índice MNCS: Metodologías, Normalización y Calidad del Software. – Investigación y diseño. – Gestión de los desarrollos  MEDEA Test de carga – Componentes Hardware – Componentes Software Elementos de testeo – Tipos de test de carga – Puntos críticos – Interpretando resultados Diseñando un test de carga – Herramientas Software JMeter LoadUI Ejercicios

22 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Diseñando un test de carga A la hora de diseñar el test, debemos llegar a los límites 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 https://wiki.um.es/wikis/programador/doku.php?id=migralinux:mi gracion_bd_a_rac Por lo tanto, proponemos la siguiente estructura de test: – Localización de límites y ajuste del sistema. – Test de carga en “límite -1”. – Test de carga en con tráfico normal. – Simulación de caídas de equipos para los test anteriores.

23 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Diseñando un test de carga La simulación de caídas de equipos nos dará una medida más exacta de cómo 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 válida. Manteniendo la disponibilidad, a mejor tiempo de respuesta, mejor estructura global del sistema.

24 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Herramientas Software Es imposible simular el acceso concurrente de miles de equipos de manera simultánea. Es necesario disponer de una herramienta que permita emular dichas conexiones. – JMeter: Herramienta Java que permite emular múltiples conexiones y procesos de navegación complejos. http://jmeter.apache.org/ – LoadUI: Herramienta Java FX, que permite, en su versión gratuita, emular test de carga simples. http://www.loadui.org/

25 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Herramientas Software: JMeter JMeter es una herramienta de software libre proporcionada por Apache para la generación de test de carga. Esta desarrollado en Java al 100% lo que permite una fácil modificación y extensión. Presenta una interfaz clara con multitud de elementos para medir el rendimiento del sistema. Permite simular la navegación de un usuario a través de un flujo de datos. Incorpora un servidor proxy para capturar las peticiones que queremos incluir posteriormente en el test.

26 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Herramientas Software: JMeter

27 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Herramientas Software: JMeter Controlador simple: Gestiona el test

28 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Herramientas Software: JMeter Sevidor proxy: Prepara el test

29 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Herramientas Software: JMeter Muestreadores: Obtiene los datos del test

30 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Herramientas Software: LoadUI Preparación 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 través de nuestro servidor proxy. – Ejecutamos las consultas. – Paramos el servidor. – Repasamos nuestro plan de pruebas eliminando consultas redundantes. – Lanzamos nuestro test.

31 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Herramientas Software: LoadUI Generadores de flujo de llamadas

32 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Herramientas Software: LoadUI Módulos de ejecución

33 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Herramientas Software: LoadUI Procesadores de estadísticas

34 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Herramientas Software: LoadUI

35 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Índice MNCS: Metodologías, Normalización y Calidad del Software. – Investigación y diseño. – Gestión de los desarrollos  MEDEA Test de carga – Componentes Hardware – Componentes Software Elementos de testeo – Tipos de test de carga – Puntos críticos – Interpretando resultados Diseñando un test de carga – Herramientas Software JMeter LoadUI Ejercicios

36 © 2012. Área de las Tecnologías de la Información 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.

37 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Ejercicios

38 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Ejercicios Ejercicio LoadUI: – Repetir el ejercicio anterior con LoadUI – Observar los resultados obtenidos

39 © 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Ejercicios


Descargar ppt "© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. MNCS: Investigación, desarrollo y gestión de la calidad."

Presentaciones similares


Anuncios Google