Logo Studenta

SD1-23-2-TéllezGonzálezJorgeLuis-Sintesis3

¡Estudia con miles de materiales!

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

Otros materiales

Materiales relacionados

59 pag.
-sistemas expertos

User badge image

Estrella Pérez

926 pag.
sistope2 - Maicol cortes (1)

User badge image

Desafío COL y ARG Veintitrés