Compartir vía


Configuración del servidor: umbral de costo para paralelismo

Se aplica a: SQL Server

En este artículo se describe cómo configurar la opción de configuración del cost threshold for parallelism servidor en SQL Server mediante SQL Server Management Studio o Transact-SQL. La cost threshold for parallelism opción especifica el umbral en el que SQL Server crea y ejecuta planes paralelos para las consultas. SQL Server crea y ejecuta un plan paralelo para una consulta solo cuando el costo estimado para ejecutar un plan serie para la misma consulta es mayor que el valor establecido en cost threshold for parallelism. El costo se refiere a un costo estimado necesario para ejecutar el plan de serie en una configuración de hardware específica, y no es una unidad de tiempo. La cost threshold for parallelism opción se puede establecer en cualquier valor comprendido entre 0 y 32767.

Limitaciones

Este costo hace referencia a una unidad de costo abstracta y no a una unidad de tiempo estimado. Solo se establece cost threshold for parallelism en multiprocesadores simétricos.

SQL Server omite el cost threshold for parallelism valor en las condiciones siguientes:

  • El equipo tiene solo un procesador lógico.

  • Solo hay disponible un único procesador lógico para SQL Server debido a la affinity mask opción de configuración.

  • La max degree of parallelism opción se establece en 1.

Un procesador lógico es la unidad básica de hardware de procesador que permite al sistema operativo enviar una tarea o ejecutar un contexto de subproceso. Cada procesador lógico puede ejecutar solo un contexto de subproceso a la vez. El núcleo del procesador es el circuito que descodifica y ejecuta instrucciones. Un núcleo de procesador puede contener uno o varios procesadores lógicos. La siguiente consulta Transact-SQL se puede utilizar para obtener información de CPU para el sistema.

SELECT (cpu_count / hyperthread_ratio) AS PhysicalCPUs,
       cpu_count AS logicalCPUs
FROM sys.dm_os_sys_info;

Recomendaciones

Esta opción es avanzada y solo debe cambiarla un administrador de base de datos con experiencia o un profesional certificado de SQL Server.

En algunos casos, se puede elegir un plan paralelo aunque el plan de costos de la consulta sea menor que el valor actual cost threshold for parallelism . Esto se debe a que la decisión de usar un plan serie o un plan paralelo se basa en un costo estimado proporcionado anteriormente durante el proceso de optimización. Para más información, vea la Guía de arquitectura de procesamiento de consulta.

Aunque el valor predeterminado de es adecuado para la mayoría de 5 los sistemas, podría ser adecuado un valor diferente. Si es necesario, realice pruebas en la aplicación con valores superiores e inferiores para optimizar el rendimiento de la aplicación.

Permisos

De forma predeterminada, todos los usuarios tienen permisos de ejecución en sp_configure sin ningún parámetro o solo con el primero. Para ejecutar sp_configure con ambos parámetros y cambiar una opción de configuración, o para ejecutar la instrucción RECONFIGURE, un usuario debe tener el permiso ALTER SETTINGS en el servidor. Los roles fijos de servidor sysadmin y serveradmin tienen el permiso ALTER SETTINGS de forma implícita.

Usar SQL Server Management Studio

  1. En el Explorador de objetos, haga clic con el botón derecho en un servidor y seleccione Propiedades.

  2. Seleccione el nodo Avanzado.

  3. En Paralelismo, cambie la cost threshold for parallelism opción al valor que desee. Escriba o seleccione un valor entre 0 y 32767.

Uso de Transact-SQL

En este ejemplo se muestra cómo usar sp_configure para establecer el valor de la opción de cost threshold for parallelism en 10.

USE master;
GO

EXECUTE sp_configure 'show advanced options', 1;
GO

RECONFIGURE;
GO

EXECUTE sp_configure 'cost threshold for parallelism', 10;
GO

RECONFIGURE;
GO

EXECUTE sp_configure 'show advanced options', 0;
GO

RECONFIGURE;
GO

Para obtener más información, vea Opciones de configuración de servidor.

Seguimiento: Después de configurar la opción umbral de costo para paralelismo

La configuración surte efecto inmediatamente, sin necesidad de reiniciar el servidor.