Recomendaciones y directrices para la opción de configuración "grado máximo de paralelismo" en SQL Server

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 2806535
Resumen
La opción de configuración de Microsoft SQL Server en el grado máximo de paralelismo (MAXDOP) controla el número de procesadores que se utilizan para la ejecución de una consulta en un plan paralelo. Esta opción determina los recursos informáticos y el subproceso que se utilizan para los operadores de plan de consultas que realizan el trabajo en paralelo. Dependiendo de si SQL Server está configurado en un equipo de multiproceso simétrico (SMP), un equipo de memoria no uniforme (NUMA) de acceso o procesadores con hyperthreading habilitado, debe configurar la opción grado máximo de paralelismo adecuadamente. Este artículo analiza las directrices generales que puede utilizar para configurar la opción de grado máximo de paralelismo para SQL Server cuando se utiliza el procedimiento almacenado del sistema sp_configure .

Las sugerencias de consulta de Transact-SQL de Opción (MAXDOP) pueden reemplazar la opción grado máximo de paralelismoen el valor desp_configure si la consulta especifica esta opción. En SQL Server 2000, el reemplazo sólo tiene efecto si el valor especificado en la sugerencia es menor o igual que el valor de sp_configure . En SQL Server 2005 y versiones posteriores, el reemplazo siempre surte efecto. En SQL Server 2008 y versiones posteriores, si el valor MAXDOP excede el valor que se ha configurado con el regulador de recursos, el motor de base de datos utiliza el valor de MAXDOP regulador de recursos. Todas las reglas semánticas utilizadas con la opción grado máximo de paralelismoson aplicables cuando se utiliza la sugerencia de consulta MAXDOP. Las otras dos opciones que pueden invalidar o afecta a la configuración de MAXDOP son los siguientes:
  • NUMA suave
  • Índice en paralelo
Más información
Nota: La opción de configuración de máximo grado de paralelismono limita el número de procesadores que utiliza SQL Server. Para configurar el número de procesadores que utiliza SQL Server, utilice la opción de configuración de máscara de afinidad .

Utilice las siguientes directrices al configurar el MAXDOPvalue.

SQL Server 2005 y versiones posteriores

Servidor con un solo nodo NUMAMenos de 8 procesadores lógicosMantener MAXDOP en o por debajo del número de procesadores lógicos
Servidor con un solo nodo NUMAMayor que 8 procesadores lógicosMantener MAXDOP en 8
Servidor con varios nodos NUMAMenos de 8 procesadores lógicos por cada nodo NUMAMantener MAXDOP en o por debajo del número de procesadores lógicos por cada nodo NUMA
Servidor con varios nodos NUMAMayor que 8 procesadores lógicos por cada nodo NUMAMantener MAXDOP en 8



Nota
Utilice estas mismas instrucciones cuando se establece la opción de grado máximo de paralelismopara el regulador de recursos, grupos de carga de trabajo.

Además, el valor máximo de 8 que se menciona en las presentes directrices es aplicable para la actividad típica de SQL Server y la sobrecarga de los operadores de intercambio que se utilizan en los planes de consultas en paralelo. Este valor máximo, puede variar dependiendo de los modelos de aplicación específica y la actividad simultánea en la instancia de SQL Server. Por ejemplo, considere las siguientes situaciones:
  • Si tiene un número muy pequeño de consultas que se ejecutan al mismo tiempo en comparación con el número de procesadores, puede establecer el valor MAXDOP a un valor mayor. Por ejemplo, puede establecer el valor MAXDOP a 16.
  • Si es una tiene un número muy grande de consultas que se ejecutan al mismo tiempo en comparación con el número de procesadores, puede establecer el valor MAXDOP en un valor menor. Por ejemplo, puede establecer el valor MAXDOP a 4.
Nota: Cualquier valor que considere el uso de se debe probar minuciosamente la actividad de la aplicación específica o un modelo de consultas antes de implementar ese valor en un servidor de producción.

SQL Server 2000 y versiones anteriores

Si SQL Server utiliza un plan en serie, usará un único procesador. Sin embargo, si SQL Server utiliza el paralelismo, debe utilizar todos los procesadores configurados (según lo determinado por la configuración de sugerencia de consulta MAXDOP) para la ejecución de un plan paralelo. Por ejemplo, si utiliza MAXDOP = 0 en un servidor de 32 vías, SQL Server intenta utilizar todos los procesadores de 32 aunque 7 procesadores podrían realizar el trabajo más eficaz en comparación con un plan en serie que usa sólo un procesador. Debido a este comportamiento todo o nada, si SQL Server utiliza el plan en paralelo y la sugerencia de consulta MAXDOP no se limitan a un valor máximo de 8, el tiempo que necesita SQL Server para coordinar todos los procesadores en un servidor de high-end supera las ventajas de utilizar un plan paralelo.

La configuración de MAXDOP se aplica a cada paso del plan. Cada paso, utilizará una CPU o el número de CPU que se especifica mediante MAXDOP y nunca nada en el medio. Si los pasos se ejecutan en paralelo, el número de subprocesos utilizados por la consulta puede superar el valor de MAXDOP.

Para la definición de MAXDOP, consulte el tema "Grado máximo de la opción de paralelismo" o "Grado de paralelismo" en SQL Server.

Para comprender cómo funciona el paralelismo, consulte la sección "Transformación de consulta paralelo" en el tema "Arquitectura de procesador de consultas" en los libros en pantalla de SQL Server.

Información adicional

Para obtener más información acerca de las consultas en paralelo, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):Para información sobre mejores prácticas cuando se ejecuta una instancia de SQL Server en equipos que tienen más de 64 CPU, vea el tema de libros en pantalla de SQL Server siguiente:Para las instancias de SQL Server que se ejecutan en procesadores hyperthreading habilitado, siga las recomendaciones en el siguiente artículo en Microsoft Knowledge Base:
322385 Soporte de SQL Server en un entorno con funciones hyper-Thread
Nota: Esta recomendación no se apliquen a los chips de procesador más recientes como los de la familia Intel Nehalem.

Para obtener información sobre el número de procesadores utilizados por SQL Server y el número de nodos NUMA reconocidos por SQL Server, utilice el sys.dm_os_sys_info de las vistas de administración dinámica y sys.dm_os_nodes. Para obtener más información acerca de la configuración de MAXDOP se aplica utilizando el regulador de recursos, revise la información en el sys.dm_resource_governor_workload_groups de la vista de administración dinámica y la siguiente publicación en el blog del equipo de soporte técnico de SQL Server:

¿Configuración de "Máximo grado de paralelismo" del servidor, la MAX_DOP del regulador de recursos y la sugerencia de consulta MAXDOP: lo que uno debe de SQL Server utilizan?

Para obtener más información acerca de los productos o herramientas que comprueban automáticamente si esta condición en la instancia de SQL Server y en las versiones del producto SQL Server, vea la tabla siguiente:
Software de reglaTítulo de la reglaDescripción de la reglaVersiones del producto con el que se evalúa la regla
SQL Server 2008 R2 Best Practices Analyzer (SQL Server 2008 R2 BPA)Grado de paralelismo no se establece en el valor recomendadoSQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) proporciona una regla para detectar estas condiciones donde no está configurado el valor adecuado para la opción grado máximo de paralelismojunto con el número de CPU de un nodo NUMA, además de la configuración de la carga de trabajo de regulador de recursos de MAXDOP. El BPA de SQL Server 2008 R2 es compatible con SQL Server 2008 y SQL Server 2008 R2.

Si ejecuta la herramienta BPA y encontrar una advertencia "El motor de base de datos: grado de paralelismo no es establecido como valor recomendado", compare el valor de la opción degrado máximo de paralelismoy el valor MAXDOP de carga de trabajo de regulador de recursos con los valores recomendados que se especifican en las secciones "Resumen" y "Más información".
SQL Server 2008, SQL Server 2008 R2
SQL Server 2012 Best Practices Analyzer (BPA de SQL Server 2012)Grado de paralelismo no se establece en el valor recomendadoSQL Server 2012 Best Practices Analyzer (BPA de SQL Server 2012) proporciona una regla para detectar estas condiciones donde no está configurado el valor adecuado para la opción grado máximo de paralelismojunto con el número de CPU de un nodo NUMA, además de la configuración de la carga de trabajo de regulador de recursos de MAXDOP.

Si ejecuta la herramienta BPA y encontrar una advertencia "El motor de base de datos: grado de paralelismo no es establecido como valor recomendado", compare el valor de la opción degrado máximo de paralelismoy el valor MAXDOP de carga de trabajo de regulador de recursos con los valores recomendados que se especifican en las secciones "Resumen" y "Más información".
SQL Server 2012

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 2806535 - Última revisión: 05/01/2015 03:38:00 - Revisión: 3.0

Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Express with Advanced Services, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Enterprise Evaluation, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Express with Advanced Services, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Express Edition with Advanced Services, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Enterprise Evaluation Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2014 Business Intelligence, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web

  • kbinfo kbmt KB2806535 KbMtes
Comentarios