Contenido del curso

Atributos de calidad

Patrones de arquitectura

Diseño de una arquitectura

Qué es eficiencia de ejecución en software

Resumen

La eficiencia de ejecución define cuán bien responde un sistema a lo que el usuario necesita y cómo aprovecha sus recursos. Aquí se explican con claridad sus subcaracterísticas clave, cómo medirlas y qué casos reales ilustran su impacto en el rendimiento.

¿Qué es la eficiencia de ejecución y por qué importa?

La eficiencia de ejecución combina dos dimensiones: la experiencia del usuario y el consumo técnico de recursos. Un sistema eficiente responde rápido y usa de forma responsable CPU, RAM y disco, incluso en momentos de alta demanda.

  • Tiempo de comportamiento: mide cuánto tarda el sistema en responder a un estímulo y si ese tiempo cumple una expectativa o un umbral máximo tolerable.
  • Uso de recursos: evalúa cómo se consumen RAM, CPU, disco u otros recursos necesarios para operar, según contexto y momento.
  • Capacidad del sistema: determina cuántos pedidos o usuarios simultáneos puede soportar y si ese límite coincide con lo esperado.

¿Cómo medir tiempo de comportamiento, uso de recursos y capacidad?

Medir con intención evita sorpresas. Primero se define qué se espera en escenarios concretos; luego se observa el comportamiento real con métricas y pruebas. Así se identifica si el rendimiento es aceptable y dónde ajustar.

¿Cómo se mide el tiempo de comportamiento?

Se registra la respuesta ante un estímulo y se compara con la expectativa o el umbral fijado.

  • Medir la latencia por acción de usuario y comparar contra lo esperado.
  • Definir umbrales claros: tiempo máximo aceptable por interacción.
  • Verificar consistencia: no basta con un caso, conviene revisar varias acciones.

¿Qué observar en el uso de recursos?

Importa el consumo en distintos momentos: uso habitual, promedio y horas pico. También escenarios puntuales que cargan memoria o CPU.

  • Medir la huella en RAM y picos de CPU en momentos críticos.
  • Evaluar accesos a disco y operaciones intensivas, por ejemplo una query que trae muchos datos.
  • Verificar si hay recursos suficientes para ejecutar sin saturación.

¿Cómo validar la capacidad del sistema?

La capacidad responde a cuántos pedidos o usuarios simultáneos puede sostener el sistema sin degradarse.

  • Definir expectativas por tipo de operación: carga, lectura y escritura.
  • Probar el rendimiento real y compararlo con lo esperado.
  • Usar pruebas artificiales como stress tests y revisar métricas del uso natural de la aplicación.

¿Qué ejemplos prácticos aclaran cada subcaracterística?

Los ejemplos ayudan a conectar métricas con comportamientos reales. Cada uno resalta una subcaracterística dominante y su impacto.

  • Videojuegos: el tiempo de comportamiento es clave. Cada acción del jugador debe reflejarse rápido en su pantalla y en la de otros usuarios que están online.
  • Reportes y análisis de datos: el uso de recursos es crítico. Manejar grandes volúmenes sin saturar RAM o CPU exige eficiencia en base de datos, sistemas de archivos o mensajería.
  • Sistemas de tickets: la capacidad define el éxito. Al abrir la venta, miles ingresan a la vez; conocer el límite y cómo medirlo permite prepararse para el pico sin caídas.

¿Tienes un caso de alto tráfico o consultas pesadas que quieras comentar? Comparte tu experiencia y métricas clave para enriquecer la discusión.