De 288 interbloqueos al mes a unos cuatro
Read Committed Snapshot Isolation y un rediseño de las peores transacciones, pero lo que lo hizo posible fue capturar bien los interbloqueos primero.
01El problema
El cierre de mes era lo peor. La plataforma registraba 288 interbloqueos al mes, y 53 en el peor día. Las transferencias fallaban con errores que no significaban nada para el cajero, soporte las reintentaba a mano y nadie podía decir qué transacciones chocaban, porque nada las capturaba.
02Lo que hice
Configuré una sesión de Extended Events para registrar cada grafo de interbloqueo en producción. Eso me dio una lista ordenada de lo que realmente chocaba, que es una mejor base para decidir que la teoría de cualquiera. De la lista salieron dos cambios. La base de datos pasó a Read Committed Snapshot Isolation para que las lecturas dejaran de bloquear las escrituras, y se rediseñaron las transacciones del tope de la lista.
03En qué terminó
Unos cuatro interbloqueos al mes, frente a 288. La captura sigue activa en producción y avisa a alguien cuando aparece un patrón nuevo, así que la próxima regresión se ve en días y no en el siguiente cierre de mes.
04Evidencia
Capturas de Extended Events de antes y después. La alerta sigue activa.
Pídala en una llamada y abro el panel.