Las esperas de SQL Server proporcionan información sobre lo que espera el motor de base de datos al extraer consultas en un servidor monitoreado. Si bien hay muchos tipos de espera diferentes, las esperas de CXPACKET son una medición de datos comúnmente malinterpretada y requieren una aclaración adicional.
Las esperas de CXPACKET a menudo resultan cuando los subprocesos de consulta en paralelo tienen una carga de trabajo desigual, lo que provoca un bloqueo en toda la consulta hasta que se complete el subproceso de mayor duración. Tenga en cuenta que el desencadenador para la espera de CXPACKET no se produce con paralelismo, sino con la distribución del trabajo en los subprocesos individuales.
Si bien puede reducir el número de esperas de CXPACKET reduciendo el MAXDOP en el servidor monitoreado, esto a menudo no es un curso de acción recomendado, ya que puede hacer que la espera desaparezca y la consulta subyacente tarde más en ejecutarse. Por ejemplo, este problema puede ser el resultado de grandes exploraciones de tablas paralelas, que puede verificar utilizando otros tipos de espera en el servidor, como PAGIOLATCH_XX. Esto también puede ser el resultado de estadísticas desactualizadas que causan un mal plan de consultas y la carga de trabajo desigual entre subprocesos.
Antes de ajustar MAXDOP, revise sus índices y estadísticas para verificar su precisión y asegúrese de que no haya otros problemas subyacentes. Si elige ajustar MAXDOP, los ajustes recomendados incluyen 4, 2 o 1. Para un sistema NUMA, utilice el número de núcleos disponibles en un solo nodo NUMA. Es posible que desee realizar estas actualizaciones en una sola consulta en lugar de en toda la instancia para evitar problemas adicionales.
SQLdm identifica y resuelve problemas de rendimiento de SQL Server antes de que ocurran. Aprender más > >