Está en la página 1de 27

Introduccin a la

evaluacin del rendimiento

Obtener el rendimiento
ms alto al menor costo

Usuarios, administradores
y diseadores
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

Contenido
1. Introduccin a la evaluacin
La carga
Medidas de rendimiento
Variables que afectan al rendimiento

2. Tcnicas de evaluacin
Monitorizacin de sistemas
Referenciacin (benchmarking)
Modelado

3. Comparacin de prestaciones y costo


Aceleracin del rendimiento
Incremento del costo

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

1. Introduccin a la evaluacin
Qu inters tiene la evaluacin?
Qu variables reflejan el rendimiento?
Qu afecta al rendimiento?

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

Por qu evaluar el rendimiento?


Los computadores tienen un precio que dependen de los
costos de diseo y de fabricacin
Hace falta relacionar precio y calidad
Comprador: este computador cuesta el doble que el otro,
pero... es el doble de rpido?
Diseador: esta decisin de diseo incrementa el precio de
fabricacin, pero... incrementa la calidad y velocidad del
producto en la misma o mayor proporcin?

El anlisis de prestaciones y precios (costos) es un


mecanismo que permite elegir entre productos
Terminologa bsica sobre rendimiento (performance)
Rendimiento, prestaciones, desempeo (Latinoamrica)

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

El papel del rendimiento es importante

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

En qu consiste la evaluacin?
Saber cmo el software (combinacin de programas)
est usando el hardware de una mquina:
comportamiento
Carga
Vara con el tiempo

Tiene un diseo adecuado?


Cul es su rendimiento?
Puede rendir mejor?
Cmo puede rendir mejor?
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

Para qu sirve la evaluacin?


Optimizar el diseo de un sistema informtico
Evaluacin del impacto de diferentes opciones

Seleccionar un sistema informtico


Relacin rendimiento/precio

Ajustar un sistema informtico (system tuning)


Variacin del software/hardware para mantener el mximo
rendimiento

Predecir la carga mxima aceptable (capacity planning)


El rendimiento siempre depende de la carga!

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

La carga y la evaluacin
Carga (load): conjunto de tareas que ha de hacer un
sistema
Programas, datos y rdenes de los usuarios

Carga de prueba (workload)


Carga empleada en un estudio de evaluacin

Variables que reflejan la carga


Nmero de programas simultneos en ejecucin
Accesos por unidad de tiempo a un servidor de pginas web
Peticiones por unidad de tiempo a una base de datos

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

Adaptacin a la carga: el mito


Un computador no es bueno ni malo per se, sino que se
adapta mejor o peor a un tipo determinado de carga
Computadores adaptados a cargas especficas

Servidores web
Servidores de bases de datos
Servidores de ficheros
Computadores personales
Multiprocesadores
Multicomputadores
Etc.

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

Cmo se ve la actividad de un sistema


Vistas del sistema
Interna: administrador, diseador
Externa: usuario

Parmetros
(configuracin)

Carga
Magnitudes medibles

Medidas
cuantitativas

Consumo de tiempo
Utilizacin de dispositivos o recursos
Trabajo hecho por el sistema o por algn componente

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

10

Medidas de rendimiento
Tiempo de respuesta (response time)
Tiempo total desde el principio hasta el final de la actividad
Tiempo de ejecucin de un programa (s)
Tiempo de acceso a un disco (ms)
La ms fiable e intuitiva
para comparar
rendimientos!

Productividad (throughput)
Cantidad de trabajo hecho por unidad de tiempo

Programas ejecutados por hora


Pginas por hora servidas por un servidor web
Correos por segundo procesados por un servidor de correo
Peticiones por minuto procesados por un servidor de comercio
electrnico

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

11

Formas cannicas del rendimiento

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

12

Ejemplo para un servidor web

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

13

Representacin no cannica

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

14

Qu afecta al rendimiento?
Parmetros del sistema operativo
Tipos de sistema operativo
Polticas de planificacin y gestin de procesos
Configuracin del sistema de memoria virtual

Componentes hardware del sistema


Calidad y velocidad

Diseo de los programas


Localidad en las referencias

Distribucin de la carga (load balancing)

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

15

Cmo podemos mejorar el rendimiento?


Actualizacin de componentes (upgrading techniques)
Reemplazamiento por dispositivos ms rpidos
Aadir nuevas unidades

Ajuste o sintonizacin (tuning techniques)


Parmetros del sistema operativo
Parmetros de las aplicaciones informticas

Algunos problemas prcticos


Actualizacin de componentes
Compatibilidad con los existentes o facilidad del sistema
Biprocesadores, discos agrupados en matrices (RAID)

Sintonizacin
Conocimiento profundo del sistema operativo
Posible alteracin de la fiabilidad
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

16

2. Tcnicas de evaluacin
Cmo podemos medir (o predecir) el
rendimiento de un sistema informtico?

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

17

Contextos para obtener rendimiento


Sistema real

Carga real

ndices de
rendimiento

Modelo de la
carga real

ndices de
rendimiento
Modelo del sistema real

Son iguales?

ndices de
rendimiento

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

18

De qu tcnicas disponemos?
Mtodos y herramientas para estimar los
ndices de prestaciones
Monitorizacin del sistema real
Herramientas de medida sobre el sistema real

Referenciacin (benchmarking) con sistemas


reales o modelados
Comparacin del rendimiento de sistemas

Modelado
Reproduccin del comportamiento del sistema
Mtodos analticos (redes de colas, cadenas de
Markov, redes de Petri, ...)
Simulacin discreta (CSIM, SMPL, Simula, ...)

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

19

3. Comparacin conjunta de
prestaciones y costo
Relacin de rendimientos: aceleracin (speedup)
Relacin rendimiento/costo

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

20

Comparacin de prestaciones
Perspectiva actual
Ejecutar los programas reales (o los ms precidos a los
programas reales) para evaluar el rendimiento de un sistema

El computador ms rpido es aquel que ejecuta la


aplicacin en el tiempo ms corto
Programa

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

21

Comparacin de prestaciones
El computador X es A veces ms rpido que Y

Tiempo de ejecucin Y Rendimiento X


Aceleracin

Tiempo de ejecucin X Rendimiento Y


El computador X es un n% ms rpido que Y

Tiempo de ejecucin Y Rendimiento X


n

1.0
Tiempo de ejecucin X Rendimiento Y
100
Hay que evitar:
El computador X es un n% MEJOR que Y
El computador Y es un n% ms LENTO que X
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

22

Ejemplo de comparacin de prestaciones


Un programa se ejecuta en 36 s en el computador
VERDE y en 45 s en el computador ROJO

Tiempo ROJO
45 s
25
A

1.25 1.0
Tiempo VERDE 36 s
100
El computador VERDE es 1.25 veces ms rpido que el
ROJO
El computador VERDE es un 25% ms rpido que el
ROJO
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

23

Ejemplo de comparacin de costos


El computador VERDE cuesta 625
El computador ROJO cuesta 550

Coste VERDE 625


14
C

1.14 1.0
Coste ROJO
550
100
El computador VERDE es 1.14 veces ms caro que el
ROJO
El computador VERDE es un 14% ms caro que el
ROJO
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

24

Comparacin de rendimiento y costo


En general, resulta una cuestin muy complicada
La bibliografa no trata este tema de una forma
sistemtica
Se suele hablar de las relaciones siguientes:
Rendimiento/costo(a maximizar)
Costo/rendimiento (a minimizar)

Optaremos por soluciones muy sencillas

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

25

Ejemplo comparacin prestaciones/costo


En comparaciones de sistemas, idealmente, siempre
interesar elegir aquellas opciones que maximicen el
cociente prestaciones/costo
Rendimiento ROJO
1
1

4.04 10 5
Costo ROJO
Tiempo ROJO Costo ROJO 45 550
Rendimiento VERDE
1
1

4.44 10 5
Costo VERDE
Tiempo VERDE Costo VERDE 36 625

En este caso, el computador VERDE presenta una


relacin ligeramente ms alta que el ROJO
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

26

Algunas reflexiones finales


Una mejora es ms efectiva cuanto ms grande es la
fraccin de tiempo en que sta se aplica
Para mejorar un sistema complejo hay que optimizar los
elementos que se utilicen durante la mayor parte del
tiempo (caso ms comn)
Campos de aplicacin de las optimizaciones
Dentro del procesador: la ruta de datos (data path)
En el juego de instrucciones: la ejecucin de las instrucciones
ms frecuentes
En el diseo de la jerarqua de memoria, la programacin y la
compilacin: hay que explotar la localidad de las referencias
El 90% del tiempo se est ejecutando el 10% del cdigo

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

27

También podría gustarte