Tópicos Especiales en Evaluación de Desempeño Evaluación de Desempeño de Sistemas Informáticos Introducción Prof. Mariela J. Curiel H. M. Curiel 1 - Definición - Cuán bien hace un sistema informático el trabajo que se supone que tiene que hacer. - Combinación de medidas, interpretación y comunicación de la capacidad de un sistema M. Curiel 2 ¿ Para qué sirve la evaluación del desempeño ? ? El desempeño es un criterio clave en el diseño, adquisición y uso de sistemas de computación. ? La meta es lograr el mayor desempeño al menor costo. ? Para evaluar el desempeño de los sistemas se necesita un conocimiento básico de la terminología y ciertas técnicas. M. Curiel Mariela J. Curiel H. 3 1 Tópicos Especiales en Evaluación de Desempeño ¿ Para qué sirve la evaluación del desempeño ? ?Comparar dos o más sistemas. ?Determinar el impacto de agregar/eliminar un componente ?Determinar el valor óptimo de uno o varios parámetros (tuning). ?Encontrar el dispositivo cuello de botella. M. Curiel 4 ¿ Para qué sirve la evaluación del desempeño ? ?Performance Debugging ?Caracterizar la carga del sistema. ?Determinar el tiempo que falta para que nuestros sistemas se saturen. ? Predecir el desempeño con una carga futura M. Curiel 5 Problemas que se podrán resolver al finalizar este curso ?Seleccionar la técnica adecuada de evaluación y las métricas. ?Seleccionar y caracterizar la carga de trabajo. ? Realizar medidas en forma correcta. ?Usar herramientas estadísticas adecuadas. ?Diseñar experimentos para obtener la mayor cantidad información con el menor número posible de medidas o simulaciones M. Curiel Mariela J. Curiel H. 6 2 Tópicos Especiales en Evaluación de Desempeño Problemas que podremos resolver al finalizar este curso ?Realizar correctamente modelos de simulación e interpretar sus resultados. ?Usar modelos de colas simples para analizar el desempeño de ciertos tipos de sistemas M. Curiel 7 Técnicas de evaluación del desempeño Sistema Experimentar con Un modelo Experimentar con el Sistema real Modelo matemático Modelo Físico Analítico Simulación M. Curiel 8 Técnicas de evaluación del desempeño Los métodos para evaluar el desempeño de los sistemas informáticos se pueden dividir en dos principales áreas: evaluación basada en medidas y evaluación basada en modelos. M. Curiel Mariela J. Curiel H. 9 3 Tópicos Especiales en Evaluación de Desempeño Técnicas de evaluación del desempeño Los modelos se fundamentan, en general, en la teoría de colas y se pueden tratar mediante los métodos analíticos que proporcionan la teoría de colas, o por medio de la simulación M. Curiel 10 Técnicas de evaluación del desempeño Exit Disk1 p Enter Disk2 1-p CPU Disk3 Disk1 1-p CPU Disk2 p Disk3 Terminals ?En un QNM el sistema se representa como una red de colas. ?Las estaciones o centros de servicio son los recursos (discos, CPU, etc) ?Los clientes son los trabajos, procesos, transacciones, o cualquier otro tipo de entidad activa. M. Curiel 11 Técnicas de evaluación del desempeño ?Con los modelos analíticos se busca predecir el comportamiento del sistema resolviendo alguna clase de algoritmo o fórmula cerrada (exacta or aproximada) ?En la simulación se desarrolla un programa que imita el comportamiento en el tiempo del sistema bajo estudio. M. Curiel Mariela J. Curiel H. 12 4 Tópicos Especiales en Evaluación de Desempeño Factores que influyen en la selección de la técnica de evaluación Modelo Analítico Flexibilidad Alto Simulación Medidas Alto Bajo Costo Bajo Medio Alto Credibilidad Bajo Medio Alto Precisión Bajo Medio Alto M. Curiel 13 Factores que influyen en la selección de la técnica de evaluación ?Etapa del ciclo de vida del desarrollo del software. ?Tiempo disponible. ?Herramientas disponibles. ?Nivel de precisión deseado. ?Costo. ?Credibilidad de los resultados. M. Curiel 14 Ejemplo t1 = time(); buscarCache (); t2 = time(); if encontro T= t2-t1 Else buscarMemoria (); if encontro T = t2 – t1 Modelo Analítico Simulación M. Curiel Mariela J. Curiel H. T = htc + (1 – h)tm tc = tiempo de acceso al cache tm = tiempo de acceso a la memoria h = hit ratio 1 – h = miss 15 5 Tópicos Especiales en Evaluación de Desempeño Definiciones ?Métricas: valor usado para describir el desempeño de un sistema. ?Parámetros: Todo lo que afecta las métricas. ?Factores: Es un conjunto reducido de los parámetros. M. Curiel 16 Tipos de métricas Para cada servicio hay varias salidas posibles: ?Se prestó el servicio correctamente: Métricas de rapidéz ?Se prestó incorrectamente: Es útil clasificar los errores y determinar las probabilidades de ocurrencia. Métricas de confiabilidad ?No se prestó el servicio: Es útil clasificar las fallas y determinar las probabilidades de cada falla. Métricas de disponibilidad. M. Curiel 17 Métricas usadas comúnmente Externas ?Tiempo de Respuesta: es el intervalo de tiempo que transcurre entre la solicitud de un usuario al sistema y la respuesta de este último. ?Throughput: es la tasa a la cual el sistema puede atender las peticiones. ?Capacidad: Máxima cantidad de trabajo útil que se puede realizar por unidad de tiempo. M. Curiel Mariela J. Curiel H. 18 6 Tópicos Especiales en Evaluación de Desempeño Métricas usadas comúnmente Internas ?Longitud de Cola: es el número de clientes (transacciones, mensajes, etc.) esperando por recibir o recibiendo un servicio. ?Utilización de los dispositivos: es la fracción de tiempo en la que un recurso está ocupado sirviendo peticiones. ?Tiempo de servicio: tiempo que tarda un dispositivo en servir una petición M. Curiel 19 Tiempo de Respuesta Capacidad Teórica 1.0 throughput Knee capacity 0.8 0.6 R 0.4 Nivel aceptable 0.2 0.0 0 Response Time Capacidad Efectiva 2 4 6 8 10 Troughput (tps) Load M. Curiel 20 Tiempo de Respuesta Tiempo de respuesta Tiempo Def 2 de respuesta Def. 1 Tiempo de reacción Tiempo de reflexión tiempo Usuario Introduce la peticion Sistema comienza a procesar la petición Sistema Sistema comienza a Termina responder de responder M. Curiel Mariela J. Curiel H. Usuario Introduce la peticion 21 7 Tópicos Especiales en Evaluación de Desempeño Métricas usadas comúnmente ?Confiabilidad: se mide usualmente como la probabilidad de error o el tiempo medio entre errores . ?Disponibilidad: es la fracción de tiempo que el sistema está disponible para atender las peticiones de los usuarios. M. Curiel 22 Clasificación de las métricas ?Mientras más alto el valor, mejor: HB (Higher is better). Ejm. el throughput ?Mientras más bajo es el valor, mejor LB (Lower is better). Ejm. El tiempo de respuesta. ?Nominal es mejor NB (Nominal is best): No se desean ni valores altos ni bajos para estas métricas. Ejm. La utilización. M. Curiel 23 Características de una buena Métrica ?Linealidad ?Confiabilidad ?Repetibilidad ?Facilidad de medir ?Consistencia M. Curiel Mariela J. Curiel H. 24 8 Tópicos Especiales en Evaluación de Desempeño ¿Cómo se establecen los requerimientos de desempeño? ?Se deben establecer de forma precisa, evitando afirmaciones vagas tales como : Los tiempos de respuesta deben ser satisfactorios para los usuarios finales. ? Algunos paquetes se pueden perder ? La disponibilidad debe mejorar ? M. Curiel 25 ¿Cómo se establecen los requerimientos de desempeño? ?Se deben establecer metas específicas, tales como: - El tiempo medio entre fallas debe exceder las 10000 horas. - El servidor de archivos debe tener una disponibilidad de 98%. - La probabilidad de perder un paquete debe ser menor al 1%. M. Curiel 26 ¿Cómo se establecen los requerimientos de desempeño? ?Realistas: puedan lograrse con la tecnología y un diseño sensato. ?Razonables: los objetivos son una consecuencia directa o indirecta de los requerimientos del negocio. ?Cuantificables: deben ser expresados en términos numéricos ?Medibles M. Curiel Mariela J. Curiel H. 27 9 Tópicos Especiales en Evaluación de Desempeño Pasos a seguir en un estudio de evaluación del desempeño ?Definir el sistema bajo estudio y establecer las metas ?Listar los servicios y las salidas ?Seleccionar las métricas ?Realizar una lista de los parámetros ?Seleccionar los factores a estudiar M. Curiel 28 Pasos a seguir en un estudio de evaluación del desempeño ?Seleccionar la técnica de evaluación a utilizar ?Seleccionar la carga de trabajo ?Diseñar los experimentos ?Analizar e interpretar los datos ?Presentar los resultados M. Curiel 29 Bibliografía ? Daniel Menascé. Virgilio Almeida. Larry W. Dowdy. Capacity Planning and Performance Modeling . Prentice Hall, 1994. ? Raj Jain. The Art of Computer Systems Performance Analysis, Wiley, 1991. ? David Lilja. Measuring Computer Performance. Cambridge University Press. 2000. M. Curiel Mariela J. Curiel H. 30 10