Incidentes de performance:
cómo detectar, responder, documentar y evitar que vuelva a pasar
Tabla de contenidos
1. ¿Qué es un incidente de performance?
El ángulo del performance tester
| Métrica | Estado normal | Estado de incidente |
|---|---|---|
| p95 latencia | ≤ 500ms | > 1.5s sostenido |
| Tasa de errores | < 0.5% | > 2% por más de 5 min |
| Throughput | ≥ 200 req/s | < 100 req/s sin causa justificada |
| p99 latencia | ≤ 1.2s | > 5s sostenido |
| Timeouts | 0 por ventana de 5 min | ≥ 3 en ventana de 5 min |
⚠️ Importante
2. El ciclo de vida
Fase Impacto
Fase Incidente activo
Fase Estabilización
Fase Seguimiento
3. Clasificación y severidad
| Severidad | Nombre | Criterio de performance | Respuesta |
|---|---|---|---|
| SEV-1 | Crítico | p95 > 10x SLA o error rate > 20% o servicio caído | Inmediata — todo el equipo, 24/7 |
| SEV-2 | Alto | p95 > 3x SLA o error rate > 5% | Respuesta en < 30 min, horario laboral extendido |
| SEV-3 | Moderado | p95 > 2x SLA o error rate entre 1% y 5% | Respuesta en < 2 horas |
| SEV-4 | Bajo | p95 levemente sobre SLA, sin errores 5xx | Próximo sprint, sin urgencia |
| SEV-5 | Informativo | Degradación detectada en test, no en producción | Backlog, monitorear en próximo deploy |
💡 Punto clave
4. Roles de respuesta
Incident Commander
Scribe
Customer Liaison
SME — Performance Tester
5. Detección desde performance testing
1. Detección proactiva — load tests antes de producción
2. Detección reactiva — alertas de monitoreo en producción
3. Detección por regresión — comparativa con baseline
¿Abrís un incidente o un ticket?
6. Cómo se gestiona
Declarar
Comunicar
Investigar
Mitigar
Verificar
Cerrar
7. Cultura de incidentes
Sin culpa (Blameless)
Ownership
Declarar temprano
💡 Para performance testers específicamente
8. Métricas: MTTD, MTTA, MTTR
Mean Time To Detect
Mean Time To Acknowledge
Mean Time To Resolve
Objetivos por nivel de madurez
| Madurez | MTTD target | MTTA target | MTTR target |
|---|---|---|---|
| Inicial (no hay proceso formal) | > 60 min | > 30 min | > 4 horas |
| En desarrollo (proceso documentado) | 15–60 min | 10–30 min | 1–4 horas |
| Maduro (proceso practicado) | 5–15 min | 3–10 min | 30 min–1 hora |
| Avanzado (testing proactivo + automatización) | < 5 min | < 3 min | < 30 min |
💡 Recurrence Rate y False Alarm Rate
9. El Postmortem
1. Resumen ejecutivo
2. Cronología
3. Análisis de causa raíz (5 WHYs)
4. Acciones correctivas
Ejemplo de postmortem
POSTMORTEM IR-001: Degradación checkout — 2026-03-15
SEV-2 · CERRADORESUMEN: El endpoint /api/checkout degradó p95 a 4.2s (SLA: 800ms) durante 2h 15min afectando ~12% de las transacciones. Causa: query N+1 en el módulo de descuentos tras el deploy 2.4.1. CRONOLOGÍA: 14:22 — Deploy 2.4.1 completado 14:35 — Alertas p95 superando 1.5s 14:41 — Incidente SEV-2 declarado por @rcampos 14:55 — Performance tester identifica /api/checkout como endpoint principal 15:10 — Causa raíz identificada: query N+1 en módulo descuentos 15:18 — Decision: rollback a 2.4.0 (fix rápido disponible) 16:15 — Rollback completado 16:37 — Métricas normalizadas, incidente cerrado CAUSA RAÍZ (5 WHYs): ¿Por qué degradó /api/checkout? → El ORM generaba N queries por usuario ¿Por qué pasó a producción? → No había test de performance en el pipeline para ese endpoint ¿Por qué no había test? → Los datos de prueba en CI no tenían suficientes descuentos por usuario ¿Por qué no? → El módulo de descuentos era nuevo y no se incluyó en los fixtures ¿Por qué no se detectó en code review? → No había criterios de performance en el checklist de PR FACTORES CONTRIBUYENTES: - Falta de test de performance para /api/checkout en CI - Datos de prueba no representativos para el módulo de descuentos - Sin criterios de performance definidos en el proceso de PR review ACCIONES CORRECTIVAS: → Agregar test de performance para /api/checkout en pipeline CI Responsable: @dev-team | Fecha límite: 2026-03-22 → Implementar query optimization con índices en módulo descuentos Responsable: @backend | Fecha límite: 2026-03-29 → Revisar todos los endpoints de checkout con EXPLAIN ANALYZE Responsable: @dba | Fecha límite: 2026-03-25 → Agregar criterios de performance al checklist de PR review Responsable: @tech-lead | Fecha límite: 2026-03-22
10. IA como apoyo en el ciclo
Claude analiza resultados de test
Claude procesa logs y genera hipótesis
Claude genera updates de estado
Claude genera el documento completo
11. Prompts listos para usar
Detectar si hay incidente desde resultados de test
Analizá estos resultados de performance test: [pegá output de k6/Gatling] SLAs definidos: - p95 < 500ms - error rate < 1% - throughput mínimo: 100 req/s ¿Hay alguna métrica que justifique declarar un incidente? Si sí: sugerí el nivel de severidad (SEV-1 a SEV-5) con justificación. Si no: indicá qué endpoints están en zona de riesgo aunque no sea incidente aún.
Analizar logs durante el incidente
Tengo estos logs del incidente activo: [pegá los logs] Necesito: 1. Ordenarlos cronológicamente 2. Identificar el primer error registrado 3. Listar los top 3 endpoints afectados con su frecuencia de error 4. Sugerir las 3 hipótesis más probables de causa raíz Sé conciso — estamos en medio de un incidente.
Generar update de status para stakeholders
Incidente activo: - Severidad: SEV-2 - Servicio afectado: [nombre] - Inicio: [hora] - Estado actual: investigando - Último hallazgo: [descripción técnica] Generá una actualización de estado para enviar al equipo de negocio. Máximo 4 oraciones. Sin jerga técnica. Incluí: qué está afectado, cuánto tiempo lleva, cuándo es el próximo update.
Generar postmortem completo
Con base en estos datos del incidente resuelto: Duración: [inicio] → [fin] Severidad: SEV-[X] Servicio: [nombre] Causa raíz: [descripción] Timeline de eventos: [pegar cronología] Acciones tomadas: [pegar] Generá el postmortem completo con: 1. Resumen ejecutivo (máx 3 oraciones) 2. Cronología formateada con timestamps 3. Análisis de causa raíz con técnica 5 WHYs 4. Factores contribuyentes 5. Acciones correctivas (con responsable y fecha límite sugerida)
Comparar métricas con baseline
Tengo estas métricas de los últimos 3 runs de performance test: Run anterior (baseline): [métricas] Run actual: [métricas] ¿Hay regresión? Si hay endpoints con degradación > 20% respecto al baseline, listalos con: - Porcentaje de degradación - Posible relación con cambios recientes - Recomendación: ticket, incidente o solo monitorear
💡 Consejo para mejores resultados