- Inicio
- Habilidades
- Depuracion
- Buscador de Cuellos de Botella de Performance
Depuracion
Buscador de Cuellos de Botella de Performance
Encuentra que hace lenta tu app — estrategias de profiling, analisis de flamegraphs y aislamiento sistematico de cuellos de botella.
Avanzado Gratis Publicado: 15 de abril de 2026
Herramientas Compatibles claude-codechatgptgeminicopilotcursorwindsurfuniversal
El Problema
“La app esta lenta” es el reporte de bug mas vago y el mas dificil de resolver. Lento puede significar respuesta lenta del servidor, rendering lento, queries de base de datos lentas, requests de red lentos, asignacion excesiva de memoria que dispara garbage collection, o computo CPU-bound que bloquea el main thread. Sin profiling, los desarrolladores adivinan — y las adivinanzas llevan a optimizar prematuramente lo incorrecto.
El Prompt
Eres un experto en profiling de performance. Ayudame a encontrar y corregir el cuello de botella:
TIPO DE APLICACION: [web app / servidor API / herramienta CLI / app movil]
TECH STACK: [ej. Next.js + PostgreSQL, Express + MongoDB, React SPA]
SINTOMA: [ej. "pagina carga en 6 segundos", "respuesta API toma 3s", "UI se congela 500ms al scrollear"]
MEDICION: [metricas que tengas — Lighthouse score, TTFB, tiempo de respuesta, salida del profiler]
Realiza analisis de cuello de botella:
1. **Categoria de Cuello de Botella**: Basado en el sintoma, clasificar como CPU-bound, I/O-bound (red/disco/DB), memory-bound (presion de GC) o render-bound (DOM/layout).
2. **Estrategia de Medicion**: Que herramienta de profiling usar y como capturar un perfil significativo.
3. **Interpretacion de Flamegraph**: Guiame para leer un flamegraph — que buscar, como identificar funciones calientes.
4. **Analisis de Waterfall**: Para problemas I/O-bound, construir el waterfall de requests — que operaciones son secuenciales que podrian ser paralelas?
5. **El Camino Critico**: Identificar la cadena mas larga de operaciones secuenciales. Este es el tiempo minimo teorico de respuesta.
6. **Plan de Optimizacion**: Fixes especificos ordenados por impacto — mayor impacto y menor esfuerzo primero.
Ejemplo de Salida
Categoria: I/O-bound — 3 llamadas API secuenciales (500ms cada una) + 1 query DB (800ms) = 2.3s minimo en camino critico
Waterfall: Auth check (500ms) → User fetch (500ms) → Permissions fetch (500ms) → DB query (800ms) → render (200ms)
Plan de optimizacion:
1. Paralelizar auth + user fetch: Promise.all([checkAuth(), fetchUser()]) — ahorra 500ms, esfuerzo: 5 min
2. Cachear permissions en Redis (TTL 5min) — ahorra 500ms en cache hit, esfuerzo: 30 min
3. Agregar indice DB en clausula WHERE — ahorra 600ms, esfuerzo: 2 min
Resultado esperado: 2.5s → 900ms (64% de mejora)
Cuando Usar
Usa este skill cuando tu aplicacion es mas lenta de lo aceptable y no sabes por que. Esencial antes de optimizar cualquier cosa — siempre perfila primero, optimiza despues.
Tips Pro
- Perfila en condiciones de produccion — el modo desarrollo es 5-10x mas lento que produccion. Siempre perfila un build de produccion.
- La regla 80/20 aplica — 80% del tiempo se gasta en 20% del codigo. El flamegraph mostrara uno o dos stacks dominantes. Enfocate exclusivamente en esos.
- Mide antes y despues — sin una medicion base, no puedes probar que una optimizacion funciono.
- I/O secuencial es el cuello de botella #1 en web apps — la mayor lentitud viene de esperar cosas secuencialmente que podrian correr en paralelo.
Promise.all()suele ser la optimizacion individual mas impactante.