Publicado el 18 de Noviembre del 2019
704 visualizaciones desde el 18 de Noviembre del 2019
271,1 KB
17 paginas
Creado hace 16a (01/06/2007)
Monitorización
de sistemas y programas
¿Cómo medir el
rendimiento de un
sistema informático?
Usuarios, administradores y diseñadores
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
1
Contenido
Medida por detección de eventos
Medida por muestreo
2. Monitores de actividad
Monitores software, hardware e
híbridos
1. Introducción
3. Monitorización en Unix
Carga media de un sistema
Herramientas de monitorización
Análisis con SarCheck©
4. Análisis de programas
(profiling) en sistemas Unix
Análisis por funciones: gprof
Análisis por líneas: gcov
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
2
1. Introducción
Técnicas de medida:
detección de eventos y muestreo
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
3
1
La medida
Carga
¿Qué está
ocurriendo?
Problema de la medida
– ¿Qué información?
– ¿Cómo se puede extraer y dónde grabarla?
El instrumento de medida puede perturbar el
funcionamiento del sistema
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
4
Técnicas de medida
¿Cómo se toman medidas del sistema?
– Cada vez que ocurre un evento
– Cada periodo fijo de tiempo
Medida por muestreo
Medida por detección
de eventos
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
5
Detección de eventos
Estado del sistema
– Contenido de todas las
memorias
Evento
– Provoca un cambio del estado
Volumen de información
recogida
– Depende de la frecuencia de
los eventos
Ei-1
Ei
Ejemplos de eventos:
– Inicio/fin de la ejecución de un
programa
– Activación de las señales RD*
y WR* de memoria
– Acierto/fallo en memoria cache
– Atención a un dispositivo
periférico
– Abrir/cerrar un fichero
Una gran parte de los eventos
(no todos) pueden ser
detectados por software
Estado i-1
Estado i
Estado i+1
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
6
2
Muestreo
Observación a intervalos regulares o aleatorios
– Análisis estadístico de datos más fácil
– Volumen de información recogida y precisión: dependen de T
T
T
T
Medidas
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
7
2. Monitores de actividad
Monitores software, hardware e híbridos
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
8
Concepto de monitor
Herramienta diseñada para observar la actividad de un
sistema informático mientras es utilizado por los usuarios
Monitor
Carga
Acciones típicas de un monitor
– Observar el comportamiento
– Recoger datos estadísticos
– Analizar estos datos
– Mostrar los resultados
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
9
3
Utilidad de los monitores
Administrador
– Conocer la utilización de los recursos (detección de cuellos de
botella)
– Ajustar los parámetros del sistema (Entonar)
Analista
– Parametrizar la carga real.
– Calcular los parámetros de entrada a modelos del sistema
(analíticos o simulación).
Sistema
– Adaptarse dinámicamente a la carga
Desarrollo de aplicaciones: entender su funcionamiento:
entonarlas.
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
10
Atributos de los monitores
Precisión
– Calidad de la medida
Resolución
– Frecuencia de medida
Ámbito o dominio de medida
– Qué mide
Costa
Facilidad de instalación y uso
Interferencia o sobrecarga
(overhead)
– Diferentes grados de
intrusismo
Monitor
Sistema
informático
Sistema
informático
Monitor
Sistema
informático
Monitor
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
11
Implementación de los monitores
Software
– Programas instalados en el sistema
Hardware
– Dispositivos externos al sistema
Híbridos
– Utiliza los dos tipos anteriores
Los más
habituales
Entornos
muy
específicos
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
12
4
Situación de los monitores
Sistema informático
Monitor
software
Sondas
electromagnéticas
Monitor
hardware
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
13
Monitores software
Son los más usados
Activación → Ejecución de instrucciones → Sobrecarga
Implementación
– Adición de un nuevo programa
– Modificación del software a medir
– Modificación del sistema operativo
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
14
Monitores hardware
Instrumentos independientes (externos) del sistema a
monitorizar conectados a este mediante sondas
electromagnéticas
Ventajas
– No usan recursos del sistema monitorizado
– Rapidez (circuitos electrónicos)
Inconvenientes
– Los sistemas no facilitan la instalación de sondas
– Personal especializado para su operación
– Hay magnitudes no accesibles por hardware
– Costosos
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
15
5
Monitores híbridos
Parte hardware
– Actúa como un dispositivo de I/O que guarda, analiza y procesa
la información enviada por la parte software
Parte software
– Código añadido al SO: instrucciones especiales de I/O
– Actúa como una sonda que recoge información y la envía a la
parte hardware
Monitor híbrido
Software
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
16
Monitores: clasificación
De acuerdo a cómo organizan la información:
Orientados a clases: realizan medidas a nivel de
programa.
Orientados a recursos: organizan la información por
recursos (utilizaciones, tiempos de servicio, longitudes
media de cola, etc) y no están al tanto de qué procesos
usan tales recursos ni en qué medida.
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
17
3. Monitorización en Unix
Herramientas de medida:
time, who, w, uptime, ps, top, vmstat,
df, du, hdparm, sar, mpstat, iostat
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
18
6
time
Mide el tiempo de ejecución de un programa
– Refleja la percepción de las prestaciones del sistema por parte
del usuario
• real: tiempo total usado por el sistema (tiempo de respuesta)
• user: tiempo de CPU ejecutando en modo usuario (user-state
CPU time)
• sys: tiempo de CPU en modo supervisor (system-state CPU
time) ejecutando código del núcleo
%time quicksort
real 6m 23s
3m 50s
user
sys
2m 10s
Tiempo de respuesta = real = 383 s
Tiempo de CPU = user+sys = 360 s (94% del total)
Tiempo de espera = real-(user+sys) = 23 s (6% del total)
consumido en espera de I/O o en la ejecución de otros programas
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
19
who y w
who: quién está conectado al sistema (logged on)
fede
xavi
:0 Oct 30 15:07 (console)
pts/0 Oct 30 17:45 (paraiso.disca.upv.es)
w: quién está conectado al sistema (logged on) y qué
hace
1:38pm up 4:27, 18 users, load average: 0.04, 0.03, 0.04
% w
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
jaume
ttyp1 kaizen.gap.upv.e 9:17am 2:02m 2:48 0.48s -sh
ttyp2 10:28am 51:02 0.14s 0.03s rlogin ma
fede
:0 songoku.disca.up 1:20pm ? 7:32 ? -
xavi
pperez
ttyp3 10:02am 29:22 0.18s 0.14s ssh tiberio.
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
20
Carga media del sistema Unix
Estados básicos de un proceso
– En ejecución (running process)
– En espera
• Dispone de todo menos de la CPU (runnable process)
• Bloqueado en una operación de I/O (blocked process)
La cola de procesos del núcleo (run queue) está formada
por aquellos que pueden ejecutarse (runnable)
Carga media (system load average): número medio de
procesos en ejecución y en la cola del núcleo
blocked
runnable
running
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
21
7
uptime
Tiempo que lleva el sistema en marcha y la carga media
que soporta
% uptime
1:21pm up 1 day, 4:09, 18 users, load average: 1.04, 0.30, 0.09
Hora actual
Tiempo en marcha
Último minuto
15 últimos minutos
5 últimos minutos
– Estimación de la carga
• Operación normal: hasta 3
• Muy alta: entre 4 y 7
• Excesivamente alta: mayor que 10
– La carga se tolera según la configuración de cada sistema
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
22
Evolución típica de la carga media
Evaluación y modelado del rendimiento de los sistemas informáticos: Monitorización de sistemas y programas
23
ps (process status)
Información sobre el estado de los procesos del sistema
– Es una de las herramientas más importantes empleadas en
tareas de monitorización
– Tiene una gran cantidad de parámetros
$ ps aur
USER PID %CPU %MEM VSZ RSS TTY STA
Comentarios de: Monitorización de sistemas y programas (0)
No hay comentarios