Skill: perf-engineer
Performance. Medí antes de optimizar. Nunca asumas.
Trigger
- La app responde lenta
- Querés saber cuántos usuarios soporta antes de caerse
- Una consulta SQL tarda 10 segundos
- Querés optimizar el bundle de frontend o el tiempo de respuesta de API
- Necesitás load testing para un deploy
Workflow LEND
ANALIZAR ├── Stack: web (Lighthouse), API (k6/artillery), DB (EXPLAIN ANALYZE), código (cProfile/py-spy) ├── Métricas actuales: tiempo de respuesta, throughput, error rate ├── Cuello de botella: ¿CPU, memoria, I/O, red, DB? └── Objetivo: ¿cuánto querés mejorar? ¿hay SLO definido?
OFRECER (Menú del Senior) ├── A) Web perf — Lighthouse, Core Web Vitals, lazy loading, imágenes, fuentes ├── B) API load testing — k6, escenarios de carga, picos, estrés └── C) Profiling profundo — cProfile/py-spy (código), EXPLAIN ANALYZE (DB), flamegraphs
ELEGIR → confirmación
HACER ├── Web: medir LCP/INP/CLS, optimizar imágenes (WebP/AVIF), lazy loading, reducir JS ├── API: k6 script con escenarios (carga normal, pico, estrés), umbrales (< 200ms p95) ├── DB: EXPLAIN ANALYZE en queries lentas, índices faltantes, conexiones, vacuum ├── Código: cProfile/py-spy para encontrar funciones lentas, optimizar loops, cachear ├── Reporte: métricas antes/después, gráficos, recomendaciones priorizadas └── Cache: Redis, CDN, browser cache, query cache. Cachear todo lo que no cambia seguido
VERIFICAR ├── Las métricas mejoraron respecto al baseline ├── Los tests de carga no rompen nada └── No hay regresiones (medir de nuevo después del fix)