Visual Vertical profiling: Evaluar la performance y optimizar capas arquitectónicas

Magíster en Tecnologías de la Información === Un problema recurrente en un sistema es la degradación del rendimiento a través del tiempo, las variaciones suelen ser en un principio casi imperceptibles hasta que llega un punto de inflexión donde el aumento de los tiempos de respuesta se hace cada vez...

Full description

Bibliographic Details
Main Author: Sanfurgo Bauer, Cristóbal Felipe
Other Authors: Bergel, Alexandre
Language:es
Published: Universidad de Chile 2016
Subjects:
Online Access:http://repositorio.uchile.cl/handle/2250/137110
Description
Summary:Magíster en Tecnologías de la Información === Un problema recurrente en un sistema es la degradación del rendimiento a través del tiempo, las variaciones suelen ser en un principio casi imperceptibles hasta que llega un punto de inflexión donde el aumento de los tiempos de respuesta se hace cada vez mayor. En este punto la identificación y corrección de las desviaciones en el comportamiento esperado del sistema, se vuelve crítico ya que dado el comportamiento exponencial en el aumento de los tiempos de respuesta, nos pone contra el tiempo para evitar el colapso del sistema. Lo anterior pone en riesgo la continuidad operacional de la organización, la posible disrupción del servicio puede traer consecuencias económicas para la compañía y nuestros clientes, dada esta situación se hace crítico corregir las desviaciones de manera oportuna, rápida y a un bajo costo, sin embargo, no contamos con una forma de identificar que piezas de software son las responsables de los problemas de performance detectados. Se propone el concepto de Vertical Profiling, la cual es una técnica y metodología que fue definida en la Universidad de Lugano, la cual utilizaremos para generar una representación del comportamiento de una aplicación basado en un set de métricas, donde cada métrica se representa como una serie de tiempo, esto nos permite entender el comportamiento a través del tiempo en cada capa del sistema, independiente de su nivel de abstracción y/o tipo de componente. Esto implica 2 etapas, la primera que consiste en un proceso de recolección de datos a través de todas las capas que componen el software y la segunda etapa que consiste en poder hacer un análisis que considere la variación en el tiempo del comportamiento del sistema. Para poder realizar el análisis del comportamiento, se propone una visualización gráfica, multidimensional, de fácil lectura y oportuna, con el fin de poder identificar los cuellos de botella. Para este estudio en particular, se utilizará la orientación a aspectos para la captura de datos, y el análisis se realizará utilizando Moose, la cual es una plataforma de análisis de datos, en este caso lo emplearemos para el análisis de Software, y para la visualización utilizaremos Mondrian que nos permite crear el meta-modelo y así realizar un análisis visual del rendimiento del aplicativo. Con la implementación de nuestro Vertical Profiling, se redujeron considerable los tiempos de respuesta de nuestra aplicación de forma rápida, algo que con un profiler tradicional no fue posible.