NARA · Evidencia TRL

Ficha — 5.5 · Capacidad base y recursos

Capacidad base (usuarios simultáneos que cumplen p95 < 2 s y errores < 1 %)

Perfil Versión Capacidad Fuente
Mezcla realista (6 expertos, 7 clínicos, 6 observadores, 46 pacientes; incluye /api/app-state) 92d7f73 65 usuarios, al límite: meseta de 5 min a 65 antes del despliegue, p95 1.874 ms, 0 errores; 4 de 11 tramos de 30 s con p95 ≥ 2 s ../5.4-6.4_carga/analisis_por_version.txt, analisis_30s.txt
La misma mezcla, meseta de 3 min dcef48e 65 usuarios: p95 1.481 ms, 0 errores ../6.6_recuperacion/analisis_meseta.txt
Clínico, 3 rutas ligeras (script de estrés) dcef48e ≈ 111 usuarios (p95 1.577 ms con 111; 2.122 ms con 127) ../6.5_estres/analisis_30s.txt

Throughput máximo de la API: ≈ 55 peticiones/s (3.300–3.380/min en Render), plano desde ≈ 277 VUs.

Recursos (Render)

Momento Versión CPU (fracción de 1 CPU) Memoria
Línea base 17:36–18:06Z 92d7f73 0,0002–0,015 350–370 MB
Carga, meseta 26 VUs 92d7f73 0,055–0,085 410–518 MB
Carga, meseta 65 VUs (18:15–18:20Z) 92d7f73 0,109–0,162 526–682 MB
Despliegue (18:21–18:23Z) cambio instancia nueva 0,063 → 0,002 …-nl5hq 684 MB → …-kf244 366–455 MB
Estrés, 111–344 VUs dcef48e 0,12–0,218 (máx.) 489–643 MB
Tras el estrés (18:47–18:51Z) dcef48e 0,007–0,010 583 → 493 MB (baja sola)
Carga de recuperación 65 VUs dcef48e 0,075–0,186 526–694 MB

Ni la CPU ni la memoria de Render se acercan a su límite cuando la latencia ya pasa de 2 s: el cuello no es el cómputo de Render (ver 6.5).

Evidencia

linea_base_{cpu,memoria,peticiones}.json, linea_base_latencia.json (error 400 de Render: falta quantile), carga_*.json, estres_*.json, despues_*.json; gráficas ../5.4-6.4_carga/grafica_carga.svg y ../6.5_estres/grafica_estres.svg.

Limitaciones