🧪 Problem-Driven Systems Lab
⚡ Caso 01 · Rendimiento

API lenta bajo carga

La aplicacion responde bien con pocos usuarios, pero degrada su latencia y estabilidad al aumentar la concurrencia.

OPERATIVO 🐘 PHP🐍 Python🟢 Node.js☕ Java🔵 .NET🐹 Go🦀 Rust

📈 Que cambia para el negocio

Reduce latencia visible y evita sobredimensionar infraestructura a ciegas.

💼 Que demuestra tecnicamente

Demuestra diagnostico serio de performance, medicion antes y despues, y una solucion con evidencia observable.

✅ Evidencia que deja

  • Compara /report-legacy y /report-optimized con latencia, p95 y queries promedio.
  • Mantiene un worker concurrente que refresca la tabla resumen sin esconder la presion real del sistema.
  • Exporta metricas locales y tambien Prometheus/Grafana para mostrar evidencia antes y despues.

👀 Que mirar al ejecutarlo

  • Diferencia entre legacy y optimized en avg_ms, p95_ms y max_ms.
  • Cambio real en avg_db_queries y avg_db_time_ms cuando se usa la tabla resumen.
  • Actividad del worker y costo de refresco en batch/status, job-runs y diagnostics/summary.
Honestidad: No busca benchmarkear lenguajes. Busca demostrar diagnostico y remediacion real del problema de latencia bajo carga.

Como esta resuelto en cada stack

PHP + PostgreSQL + worker + Prometheus + Grafana; Python con SQLite local, worker y metricas; Node.js 22 con SQLite via node:sqlite, worker setInterval y metrica de event loop lag; Java 21 con SQLite via sqlite-jdbc (WAL) + ScheduledExecutorService worker; .NET 8 con SQLite via Microsoft.Data.Sqlite (WAL) + Task.Delay worker con CancellationToken

StackHealth check localComposeDetalle
🐘 PHP 8.3http://localhost:8100/01/healthcompose.root.ymlREADME del stack
🐍 Python 3.12http://localhost:8200/01/healthcompose.python.ymlREADME del stack
🟢 Node.js 22http://localhost:8300/01/healthcompose.nodejs.ymlREADME del stack
☕ Java 21http://localhost:8400/01/healthcompose.java.ymlREADME del stack
🔵 .NET 8http://localhost:8500/01/healthcompose.dotnet.ymlREADME del stack
🐹 Go 1.23http://localhost:8600/01/healthcompose.go.ymlREADME del stack
🦀 Rust 1.83http://localhost:8700/01/healthcompose.rust.ymlREADME del stack

El expediente completo

El caso no empieza en el codigo: empieza en el sintoma y termina en el postmortem.

Caso 02 →