Ficha — 6.6 · Recuperación tras el estrés
- ID de prueba: K6-RECUPERACION-01 (criterio 6.6)
- Fecha y hora: 2026-10-10, 18:45:43 (fin del estrés) a 18:57 UTC
- Ejecutado por: subagente
ejecutor-pruebas-trl(Claude Opus 5.5) - Entorno:
https://www.proyectonara.com→nara-apidcef48e(misma versión que el estrés;/api/health18:47:13, 18:51:14 y 18:56:25Z:dcef48e). Render1c-2g, misma instancia…-kf244durante estrés y recuperación (sin reinicio). - Procedimiento:
medir-recuperacion.js(plugin) contrahttps://www.proyectonara.com/api/healthdesde 18:25:47Z (antes del estrés), intervalo 2 s, 5 respuestas buenas seguidas, timeout 10 s.- Espera de 5 min sin tocar nada tras el fin del estrés (18:45:43 → 18:50:45Z).
- Foto de integridad de solo lectura (
_herramientas/foto_datos.js): login de las 9 cuentas y huella SHA-256 de cada GET por rol, antes del estrés (18:24Z), tras la espera (18:50:49Z) y tras la carga corta (18:56:30Z). - Carga corta:
k6_carga_mezcla.jsconESCALONES_CORTOS=1(1 min a 65, 3 min en 65, 1 min a 0), misma mezcla de roles que 5.4.
- Resultado: Parcial. Cumple los tres umbrales, pero no se corrieron los flujos e2e que pide la guía (paso 2) y la sonda de recuperación quedó contaminada por el fallo de red del generador.
Métricas
| Comprobación | Resultado | Umbral |
|---|---|---|
| Carga corta 65 VUs (k6 completo) | 6.731 peticiones, 0 errores, p95 1.430 ms, código de salida 0 | p95 < 2 s, errores < 1 % |
| Meseta de 65 VUs (18:52:15–18:55:15Z) | 4.903 peticiones, 0 errores, p50 401 ms, p95 1.481 ms, máx. 4.419 ms | — |
| Reinicio manual | Ninguno (misma instancia de Render; render-nara.js estado: not_suspended) |
Sin reinicio |
| Cuentas bloqueadas | 0 de 9 (las 9 inician sesión en las tres fotos) | 0 |
| Datos | 0 diferencias en las huellas de 23 lecturas por rol entre antes y después (comparacion_fotos.txt) |
Sin datos corruptos |
| Sonda externa durante el estrés | 96 s sin respuesta (18:38:49–18:40:25Z), recuperada sola. Coincide con el fallo de red del generador (ver 6.5); no hay 5xx en Render | — |
| Recursos tras el estrés | CPU 0,007–0,010; memoria 658 → 493 MB sin intervención | — |
Evidencia
recuperacion_2026-10-10T18-25-47-383Z.csv y .json, foto_antes_estres.json, foto_tras_espera_5min.json, foto_tras_carga_corta.json, comparacion_fotos.txt, k6_carga_corta.log, resultado_carga_corta.json, resultado_carga_corta_*.json, series_carga_corta.csv.gz, analisis_meseta.txt, k6_carga_mezcla.js.
Limitaciones
- No se corrió la suite e2e (paso 2 de la guía): necesita
cuenta-admin-de-prueba(no existe) y crea datos; el coordinador la dejó para el siguiente subagente. - La foto de integridad compara solo lo que ven las cuentas de prueba (territorio «Prueba») y quita campos volátiles (
lastLoginAt,activeAt,updatedAt,at): no demuestra la integridad del resto de la base. - El estrés solo leyó: «no hay datos corruptos» es esperable; la prueba no ejercita escrituras bajo estrés.
- Versión
dcef48e, no la final.