Llevo unas semanas peleándome con un problema de rendimiento en nuestra app y creo que el cuello de botella está en la base de datos. Cada vez que un usuario carga su dashboard, se ejecuta una consulta que junta varias tablas y tarda una eternidad, aunque los índices parecen estar bien. Me pregunto si alguien más ha tenido que lidiar con algo similar y cómo abordaron el problema de raíz, porque solo con parches temporales no vamos a llegar lejos.
|
Cómo identificar la raíz de un cuello de botella en la base de datos?
|
|
me pasa igual cuando el dashboard tarda y la gente pregunta por que ya, el rendimiento se come minutos y parece que no ves salida. sospecho que hay mas que un indice mal aplicado pero no estoy seguro
empieza por trazar la consulta y ver si el cuello de botella viene de los joins o de datos repetidos. capturaria planes de ejecucion y miraria la cardinalidad de las tablas. a veces la solucion pasa por reescribir la consulta o separar la operacion
creo que el problema podria ser la caché del servidor o la capa de datos y que alguien se salta los indices para correr datos viejos, pero la idea de fondo es que el rendimiento es el verdadero monstruo
no me convence que todo gire en torno a la base de datos, a veces el problema esta en el front end al primer render y luego la db parece lenta por que se cargan datos de forma insuficiente ¿y si no es la db?
tal vez convenga replantear el modelo de datos o usar vistas materializadas o caches, la pregunta no es solo como optimizar la consulta sino como mirar el flujo completo desde que se solicita el dashboard hasta que se muestra la vista final
hablo como quien apenas entiende de teclas y datos, el rendimiento es una historia de muchos personajes a veces la pista es una tabla olvidada en un join
|
|
« Tema anterior | Tema siguiente »
|

