Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Herramientas Tipos de perfilado Perfiladores Se refiere a la tarea de encontrar la forma en que las instrucciones en lenguaje máquina se ejecuten de manera eficiente por medio de su optimización. Manual: consta de modificar directamente el código para obtener el resultado deseado. Para resultados específicos. Automático: se obtiene resultados generales al perfilarse la aplicación automáticamente con una herramienta de software. C: Perf, VTune, GProf, Valgrind. Python: cProfile, Line Profiler, Pyflame, Pyinstrument Java: Netbeans Profiler, Visual VM, YourKit, JProfiler De CPU. De I/O. De rendimiento web. De manejo de memoria. De redes. Tipos Metodologías El Perfilado serial permite identificar cuellos de botella, ineficiencias y áreas de mejora en el rendimiento de una aplicación usando 3 metodologías principales. Tecnologías Usadas para analizar rendimiento de una aplicación, y se dividen en diversos tipos. Rastreo Distribuido Es un método para supervisar resultados ejecutados en un sistema distribuido, el cual analiza las solicitudes a medida que sale del front hacia el back-end. Permite comprender relaciones entre servicios, analizar acciones de los usuarios, servicios fiables y la productividad del sistema. Software específico para analizar y medir el performance de un programa en un momento determinado. Lenguajes Samplig Profiler Instrumentation Profiler Dynamic Tracing Tracing Profiler Hardware Profiler Tipos De Instrumentación Se refiere a determinar el nivel de control y tiempo de resolución de los perfiles usando técnicas que agregan instrucciones al programa destino para obtener la info. requerida. Análisis de tiempo de ejecución/Escalar Ubica los puntos calientes: bloques de código con funciones con mayor tiempo de ejecución. Tiene 2 variantes La perfilación es la técnica de optimizar un programa en su estructura básica para aprovechar de mejor manera los recursos informáticos y obtener programas óptimos y con tiempos de ejecución ideales. La perfilación puede ser de dos tipos: manual o automatizada. Ambos enfoques permiten obtener el mismo resultado, sin embargo, la perfilación manual está más orientada a objetivos específicos de optimización mientras que la perfilación automática se enfoca a entregar reportes generales del funcionamiento de un programa y encontrar áreas de oportunidad en el mismo. Su implementación en sistemas distribuidos permite implementar una analítica de datos orientada a sistemas para conocer de manera más granular la interacción cliente-servidor y encontrar partes técnicas del sistema que puedan trabajarse para mejorar la experiencia de los clientes en el mismo. Baaado en funciones Usar herramientas para medir tiempo de ejecución y llamadas de cada función para generar un mapa plano y mariposa. Basado en líneas Se hace midiendo el tiempo de ejecución de cada línea de forma individual, usando herramientas que generen informes de los tiempos de cada línea ejecutada. Contadores de rendimiento Registros especiales en el chip de una CPU para medir y monitorear un sistema en tiempo real: ciclos de reloj, número de instrucciones ejecutadas, operaciones de punto flotante, transferencias a caché... Instrumentación manual Mediciones realizadas por el programador usando bibliotecas de perfilación en el código o rutinas de temporización. Permite reorganizar el código, evitar operaciones costosas, trabajar sobre memoría caché, eliminar subexpresiones, evitar ramas, usar SIMD al escribir código. Fases de rastreo Instrumentación Recogida de datos Análisis y visualización
Compartir