Introducción Al Rendimiento de Un Sistema Informático
Introducción Al Rendimiento de Un Sistema Informático
Introducción Al Rendimiento de Un Sistema Informático
UNIDAD 1
INTRODUCCIÓN
AL RENDIMIENTO
DE UN SISTEMA
INFORMÁTICO
ITCV
Equipo 1
Configuración y Evaluación del Rendimiento de Sistemas
Los objetivos deben estar muy claros a la hora de evaluar, así como los datos de que se dispone, también es muy
importante caracterizar y predecir la carga del sistema ya que, el comportamiento de un sistema está íntimamente ligado
al uso que se le va a dar.
Según sea la utilización se utilizaran unas prestaciones.El concepto de prestaciones no se puede desligar de la carga.
Las prestaciones son la potencia del ordenador para realizar un conjunto de tareas.
ITCV
Equipo 1
Configuración y Evaluación del Rendimiento de Sistemas
Tanto el usuario como el responsable de un sistema tienen su idea sobre las prestaciones o rendimiento.
Esta idea se basa en magnitudes o parámetros los cuales pueden tener relación con:
− Consumo de tiempos
− Utilización de recursos y dispositivos
− Trabajo realizado por el sistema o componentes del mismo
Más claramente podemos dividir las magnitudes que se deben de medir en variables externas e internas:
› Variables externas
Productividad o throughput: cantidad de trabajo útil ejecutado por unidad de tiempo en un determinado entorno
de carga (trabajos/hora o transacciones/segundo)
Capacidad: máxima cantidad de trabajo útil que se puede realizar por unidad de tiempo en un entorno de carga
determinado
Tiempo de respuesta: tiempo transcurrido entre la entrega de un trabajo o transacción al sistema y la recepción
del resultado o la respuesta
› Variables Internas
Factor de utilización de un componente: porcentaje de tiempo durante el cual un componente del sistema ha
sido realmente utilizado (CPU, dispositivo de E/S etc.)
Solapamiento de componentes: porcentaje de tiempo durante el cual dos o más componentes del sistema han
sido utilizados simultáneamente
Overhead: porcentaje de tiempo en que los distintos dispositivos del sistema han sido utilizados para realizar
tareas de sistema no directamente imputables a ninguno de los trabajos de usuarios en curso
Factor de carga de multiprogramación: relación entre el tiempo de respuesta de un trabajo en un determinado
entorno de multiprogramación y su tiempo de respuesta en monoprogramación
Factor de ganancia de multiprogramación: relación entre el tiempo total necesario para ejecutar un conjunto de
programas secuencialmente en monoprogramamación y en multiprogramación
Frecuencia de fallo de página: número de fallos de página que se producen por unidad de tiempo en un
sistema de memoria virtual paginada
Frecuencia del swapping: número de programas expulsados de memoria por unidad de tiempo bien por falta de
espacio bien por reorganización para recuperar espacio bien para disminuir la paginación
Otras magnitudes también podrían ser las relativas al comportamiento pero no directamente con las prestaciones como:
Fiabilidad: probabilidad de que el sistema trabaje correctamente a lo largo de un intervalo de tiempo dado
Disponibilidad: probabilidad de que el sistema esté trabajando correctamente y que esté disponible para
realizar sus funciones en el instante considerado
Dependen del tipo y modo de trabajo del sistema. En realidad se suele usar carga sintética porque permite poder
experimentar y reproducir situaciones a nuestro gusto y sin tener que modificar el sistema real. En cambio en muchos
casos hay que preocuparse de justificar si esa carga sintética es representativa de la situación o carga que queremos
reproducir.
ITCV
Equipo 1
Configuración y Evaluación del Rendimiento de Sistemas
ITCV
Equipo 1
Configuración y Evaluación del Rendimiento de Sistemas
Los programas que ejecutan por lotes suelen especificar su funcionamiento mediante scripts o guiones (procedimientos)
en los que se indica qué se quiere ejecutar y, posiblemente, qué tipo de recursos necesita reservar.
Son el mecanismo más tradicional y antiguo de ejecutar tareas. Se introdujeron alrededor de 1956 para aumentar la
capacidad de proceso de los programas. En la actualidad, los trabajos por lotes son ampliamente utilizados
en supercomputadores, como Magerit.
El extremo opuesto al procesamiento por lotes es el procesamiento interactivo: programas que precisan la interacción
con el usuario (petición de datos, elección de opciones) para funcionar. Cada tipo de proceso es diferente y más
adecuado en unas situaciones que en otras.
En un sistema por lotes existe un gestor de trabajos, encargado de reservar y asignar los recursos de las máquinas a las
tareas que hay que ejecutar. De esta forma, mientras existan trabajos pendientes de procesamiento, los recursos
disponibles estarán siempre ocupados ejecutando tareas.
Si el sistema está bien planificado, se alcanzan tiempos de ejecución muy altos, ya que los recursos disponibles están
siendo utilizados casi continuamente. Además, el sistema puede ser muy simple ya que las tareas son completamente
secuenciales por lo que se reduce la necesidad de utilizar esquemas Round Robin o similares
Ventajas:
Permite compartir mejor los recursos de un ordenador entre muchos usuarios, al no competir por
éstos de forma inmediata.
Realiza el trabajo en el momento en el que los recursos del ordenador están menos ocupados, dando
prioridad a tareas interactivas.
Evita desaprovechar los recursos del ordenador sin necesidad de interacción y supervisión humanas
continuas.
En ordenadores caros o supercomputadores, ayuda a amortizar el coste manteniendo altos índices
de utilización.
Inconvenientes:
El principal inconveniente de la ejecución por lotes frente a la ejecución interactiva es que hay que
conocer y planificar cuidadosamente la tarea a realizar. Al carecer de supervisión por parte del usuario,
cualquier tipo de error puede producir resultados inútiles o, simplemente, inexistentes.
Sistema transaccional.
Es un tipo de sistema de información diseñado para recolectar, almacenar, modificar y recuperar todo tipo de información
que es generada por las transacciones en una organización. Una transacción es un evento o proceso que genera o
modifica la información que se encuentran eventualmente almacenados en un sistema de información.
ITCV
Equipo 1
Configuración y Evaluación del Rendimiento de Sistemas
En general es en línea, captura la información que se produce cuando ocurre una transacción, no la procesa, sino que la
entrega a otro sistema, es la cara que ve el cliente (front-end). Ejemplos:
Control automático (ascensores)
Código de barra (control de inventario, para este sistema debe existir acuerdo entre quienes lo usan para
estandarizar los códigos y saber a qué se referencia cada uno )
Lector de banda magnética (cajero automático)
Punto de venta (POS, en supermercados y tiendas de retail), etc.
Un buen sistema transaccional debe capturar toda la información oportunamente. Algunas de estas
aplicaciones requieren un software y/o hardware especial.
ITCV
Equipo 1
Configuración y Evaluación del Rendimiento de Sistemas
Propiedades ACID
Atomicidad: cualquier cambio de estado que produce una transacción es atómico. Es decir, ocurren todos o no ocurre
ninguno. En otras palabras, esta propiedad asegura que una operación se realiza o no se realiza, por lo tanto no
puede quedar el sistema a medias.
Consistencia: propiedad que asegura que una transacción no romperá con la integridad de una base de
datos, pues respeta todas las reglas y directrices de ésta.
Aislamiento: propiedad que asegura que no se afectarán entre sí las transacciones. En otras palabras, dos o más
transacciones sobre los mismos datos no generarán un problema.
Durabilidad: propiedad que asegura la persistencia de una transacción, es decir, una vez que la transacción quedó
aceptada no podrá deshacerse aunque falle el sistema.
Surgen sobre el año 1962, como una mejora de los sistemas de tratamientos por lotes. Estos sistemas, llamados
también conversacionales, se desarrollaron principalmente para que cada usuario operara con un terminal, para que una
misma máquina, con la misma potencia que en sistemas no interactivos, pudiese atender a más de un usuario, debido a
que no todos a la vez ocuparían mucho tiempo el procesador, con lo que, la CPU se mantendría menos tiempo ociosa, y
su utilización sería más eficiente.
La modalidad de los sistemas conversacionales se refiere a qué tantos recursos tienen el usuario y el sistema para
comunicarse entre ellos, si solo utilizan el lenguaje, si utilizan algún medio visual, etc. Siguiendo esta clasificación, los
sistemas pueden ser unimodales o multimodales
Sistemas unimodales
En un sistema conversacional la computadora es capaz de entender la entrada hablada de la persona y generar una
salida hablada para el usuario.
Estos sistemas son sistemas de entrada - salida unimodales, esto es, que utilizan información representada como habla
y nada más en su comunicación con el usuario, por ejemplo los sistemas que funcionan por medio de la línea telefónica,
en donde el usuario sólo puede dar información a la computadora de manera hablada, y el sistema sólo le puede dar
información al usuario por la línea telefónica.
Estos sistemas unimodales pueden ser subdivididos en sistemas que toman en cuenta entrada hablada continua y
aquellos que requieren palabras aisladas, sistemas independientes del usuario, y aquellos que requieren cierto
entrenamiento para cada usuario.
Sistemas multimodales
Los sistemas interactivos multi-modales son sistemas que tienen algunos otros dispositivos de apoyo, por ejemplo, una
cara gráfica animada con la finalidad de facilitar al usuario el entendimiento de la salida sintetizada, es decir lo que la
computadora dijo, o también se puede mandar a la pantalla dicho texto.
ITCV
Equipo 1
Configuración y Evaluación del Rendimiento de Sistemas
El sistema también tiene más formas de comunicarse con el usuario, no se restringe solo a salida hablada, también el
usuario puede apoyarse con el teclado, el mouse o algún otro dispositivo.
Es importante destacar que el rendimiento de un Sistema depende más de la relación entre sus componentes y de cómo
se combinan estos entre sí que del funcionamiento de cada uno de ellos individualmente. Por eso, el funcionamiento de
un Sistema Informático no se mejora sólo combinando los mejores sistemas físicos, lógicos y de personal, sino por la
armonización y el funcionamiento coordinado de sus elementos.
En general, en cualquier sistema es difícil valorar el comportamiento general y su rendimiento, debido a que intervienen
multitud de variables, y no existe un único parámetro que indique el resultado de su funcionamiento. Quizás esto sea
especialmente complejo en un Sistema Informático donde además intervienen factores muy heterogéneos.
Para evaluar el rendimiento de un sistema informático se utilizan técnicas más o menos complejas, como pueden ser
métodos estadísticos o de teoría de colas. En cualquier caso, es fundamental el análisis de las cargas del sistema y las
técnicas de representación de las mismas.
Las técnicas de evaluación se aplican a índices de rendimiento como:
Productividad (cantidad de trabajo realizado por el sistema en la unidad de tiempo)
Tiempo de presencia (desde el instante en que un programa entra en el sistema y el instante en que termina su
ejecución)
Tiempo de respuesta (en los sistemas interactivos: desde que un usuario realiza una petición al sistema hasta
que la respuesta aparece)
Capacidad de un recurso (valor teórico máximo)
Disponibilidad (del sistema o de un recurso)
Tasa de utilización de CPU
¿Cómo y para qué medir el rendimiento de un sistema informático?
Por ejemplo en función de medidas tradicionales, o sea, en las primeras máquinas lo controlaba el propio programador,
prácticamente no existía el software, todo se media en los siguientes elementos.
Longitud de la palabra.
Repertorio de instrucciones.
Ciclos base de la C.P.U.
Tiempo de ejecución de una instrucción básica.
Con el tiempo, gracias a los avances tecnológicos necesitamos medir en función de otros elementos no solo el Hardware
sino el Software.
ITCV
Equipo 1
Configuración y Evaluación del Rendimiento de Sistemas
Con la carga de trabajo habitual (el sistema informático envejece). Por ejemplo, se necesita ampliar la
capacidad del disco duro en 3 meses
Con una nueva carga de trabajo (Sistemas informáticos muy dinámicos) Por ejemplo, en un banco, se desea
predecir el comportamiento de la aplicación web, ante una posible avalancha de transacciones.
Se plantea la siguiente cuestión: ¿Cuándo debemos realizar una evaluación del rendimiento? Las posibles respuestas
son las siguientes:
Se fabrica una máquina nueva.
Se quiere diseñar un sistema informático nuevo.
Se quiere seleccionar un sistema informático entre varias alternativas.
Se quiere planificar la capacidad de un sistema informático.
Se quiere ajustar un sistema informático (operaciones de mantenimiento)
Donde:
: es la aceleración o ganancia en velocidad conseguida en el sistema completo debido a la mejora de uno
de sus subsistemas.
, es el factor de mejora que se ha introducido en el subsistema mejorado.
, es la fracción de tiempo que el sistema utiliza el subsistema mejorado.
Caso general con n mejoras:
1
A=
n n Fmi
(∑ ) ∑
i=1
Fmi +
i=1
❑
Ami
ITCV
Equipo 1