Author: Jhon Alexander Cardenas Campaña - Ray Johnathan Barcenas T.
Comportamiento Temporal:
Capacidad del software para proporcionar tiempos de proceso, respuesta y potencia apropiados, en condiciones dadas. (Beatriz Florian Garcia, 2013, p.20)
Tiempo de respuesta que requiere un sistema software para responder a un evento o transacción, o bien es el número de eventos o transacciones procesadas en un intervalo de tiempo.
El desempeño depende de la arquitectura si se habla de la comunicación entre los componentes y asignación de funcionalidades a los componentes, y no dependiente en cuanto a los algoritmos que implementan la funcionalidad y la codificación de estos algoritmos.
Metricas:
- Tiempo de respuesta: es la medida de latencia que un sistema software muestra en una transacción o evento, también esta frecuentemente asociado con el tiempo que un sistema software toma en responder a una entrada.
Requerimientos de tiempo de respuesta garantizado: cada una de las peticiones deben ser atendidas dentro de un límite de tiempo específico.
Requerimientos de tiempo de respuesta promedio: se observa el tiempo promedio en el que el sistema software atiende un conjunto de peticiones, permitiendo la latencia más amplia para cuando el sistema esta ocupado, incluye tiempo límite para ser atendido.
Rendimiento: es la cantidad de trabajo que un sistema software debe ejecutar por unidad de tiempo. lo mas común transacciones por segundo (tps) o mensajes procesados por segundo (mps).
Plazos: un sistema software tiene una ventana limitada de tiempo para completar una transacción, por lo que tendrá un requerimiento de deadline de desempeño, estos requerimientos estas asociados comunmente a sistemas en lote (batch-systems).
Análisis de Eficiencia:
Es posible analizar la eficiencia en la arquitectura mediante el análisis de tasas de llegada, la distribución de los requerimientos de servicios, tiempos de procesamiento, tamaños de las colas y la latencia.
Utilización de Recursos:
La meta de las tácticas de eficiencia es generar una respuesta a un evento que llega al sistema software dentro de una restricción de tiempo, dos aspectos a tener en cuenta el primero de ellos es el consumo de recursos que incluyen la CPU, almacenamiento de datos, ancho de banda de la red, memoria, los componentes definidos por el sistema software y el segundo el tiempo de bloqueo de los recursos.
Cuando se habla de Eficiencia de un sistema Software, nos viene el siguiente cuestionamiento, y es preguntarnos como reaccionaria el sistema con 100, 1000, 10000 usuarios conectados al sistema al mismo tiempo? , sera que el sistema respondera las peticiones echas por estos usuarios? y si lo hace cuanto tiempo se demora y que recursos fueron los mas utilizados?.
Para responder estas inquietudes tenemos las tacticas de eficiencia que nos orientan a como controlar la demanda de recursos y como gestionarlos.