Era un día normal en el trabajo. Implementé una nueva funcionalidad, mergeé el PR y todo parecía bien hasta que soporte reportó que el tablero tardaba mucho en cargar. Mi API, que antes era rápida, se volvió lenta y comenzó el proceso de depuración.
Paso 1 Medir antes de adivinar La primera regla de depuración es medir. Añadí un middleware en NestJS para registrar tiempos de respuesta y detecté endpoints que tardaban más de 800 ms. Sin métricas no hay diagnóstico fiable.
Paso 2 Reducir la carga de datos al cliente Muchas veces el cuello de botella está en el payload. Nuestro API devolvía tablas completas. La solución fue paginación y compresión para disminuir el tamaño de respuesta. Con paginación y gzip la respuesta pasó de 2 MB a 200 KB y mejoraron los tiempos de carga.
Paso 3 Optimizar la base de datos Revisando Postgres con EXPLAIN ANALYZE encontré un full table scan al buscar usuarios por email. Añadir un índice sobre la columna email redujo la consulta de 500 ms a 20 ms. Indices, consultas parametrizadas y evitar SELECT * son aliados imprescindibles.
Paso 4 Cachear resultados repetidos Para datos solicitados con frecuencia, el cache en Redis marcó una gran diferencia. Almacenar la respuesta por un minuto evitó nuevas consultas a la base de datos y las peticiones posteriores cayeron a solo 5 ms.
Paso 5 Manejar APIs externas Un endpoint dependía de un tercero que a veces colgaba durante 10 segundos. Implementé timeout y manejo de reintentos con fallback para evitar que una llamada externa bloquee todo el request.
Paso 6 Desacoplar tareas pesadas Envío de correos y generación de informes bloqueaban la API. La solución fue offload a trabajos en segundo plano con colas como BullMQ. La API empezó a responder instantáneamente mientras los jobs se procesaban en workers.
Paso 7 Escalar correctamente Tras optimizar, escalamos horizontalmente con procesos máximos en PM2 para aprovechar varios núcleos CPU. El resultado consolidado fue pasar de endpoints de 800 ms a menos de 100 ms y una reducción significativa en la carga de la base de datos.
Lecciones aprendidas Depurar una API lenta no es magia sino proceso Medir localizar el cuello de botella fijar la solución y repetir. Empieza siempre por lo que tiene mayor impacto y documenta cada cambio para poder revertir si hace falta.
En Q2BSTUDIO somos expertos en desarrollo de software a medida y aplicaciones a medida y acompañamos a empresas en cada paso desde arquitectura hasta despliegue. Ofrecemos soluciones de inteligencia artificial e ia para empresas incluyendo agentes IA, servicios de ciberseguridad y pentesting, así como servicios cloud aws y azure para desplegar aplicaciones escalables y seguras. Si necesitas crear o optimizar una API o una aplicación empresarial visita nuestra página de desarrollo de aplicaciones y software a medida o conoce nuestros servicios cloud en AWS y Azure. También trabajamos servicios inteligencia de negocio integrando power bi para mejorar la toma de decisiones y automatización de procesos para optimizar operaciones.
Si quieres que revisemos el rendimiento de tu API o diseñemos una solución a medida que incluya inteligencia artificial, ciberseguridad y despliegue en la nube, en Q2BSTUDIO te ayudamos a convertir los problemas de rendimiento en oportunidades de mejora.