Service as Software

Cuellos de botella: cómo encontrarlos antes de que duelan

Fernando Blanco DosilFernando Blanco Dosil

Casi todo el mundo descubre sus cuellos de botella el peor día posible: cuando la plataforma se cae con un pico de tráfico o cuando un cliente importante se queja de lentitud. Para entonces el problema ya cuesta dinero y reputación. Lo curioso es que casi siempre había señales antes, solo que nadie las miraba.

Encontrar los cuellos de botella antes de que duelan no es magia ni requiere un equipo enorme. Requiere medir las cosas correctas y saber dónde suelen esconderse los problemas. Es una disciplina barata comparada con el coste de una caída en el peor momento.

No optimices a ciegas

El error más común es intentar mejorar el rendimiento por intuición, tocando lo que parece lento sin datos. Casi siempre se acaba optimizando algo que no era el problema. Antes de tocar nada, mide: cuánto tarda cada parte, dónde se acumula el tiempo, qué recurso se satura primero. Los datos suelen señalar un culpable inesperado.

La intuición de un buen ingeniero ayuda a formular hipótesis, pero la medición las confirma o las descarta. Sin medir, optimizar es tirar trabajo a un problema que no entiendes.

  • Mide tiempos de respuesta y latencia por cada parte del sistema.
  • Vigila el uso de CPU, memoria, disco y conexiones a base de datos.
  • Identifica las consultas más lentas y las que más se repiten.
  • Observa cómo se comporta el sistema bajo carga, no solo en reposo.

Dónde suelen esconderse

Hay sospechosos habituales. La base de datos es el primero: consultas sin índice, accesos repetidos que podrían agruparse, bloqueos. Después, las llamadas a servicios externos que tardan y arrastran al resto. Y los procesos síncronos que hacen esperar al usuario por trabajo que podría ir en segundo plano. Empezar por aquí ahorra tiempo.

También importa el patrón de uso. Un cuello de botella que no molesta con cien usuarios puede tumbar el sistema con diez mil. Por eso conviene probar bajo carga, no solo confiar en que funciona en el día a día tranquilo.

Anticípate con pruebas de carga

La forma más fiable de encontrar un cuello de botella antes de que duela es provocarlo en un entorno controlado. Una prueba de carga simula el tráfico que esperas y revela dónde se rompe el sistema cuando aún puedes arreglarlo sin prisa ni clientes mirando. Hazlo antes de campañas, lanzamientos o picos previsibles.

Más sobre service as software
Fernando Blanco Dosil

Escrito por

Fernando Blanco Dosil

Product Engineer al que le mueve convertir ideas en producto. Escribe sobre desarrollo, datos y cómo llevar proyectos de la chispa a la realidad.

Ver perfil →