Prácticas recomendadas para ejecutar SQL Server en equipos que tienen más de 64 CPU

En este tema se proporciona información sobre el procedimiento recomendado para cuando se ejecute una instancia de SQL Server en equipos con más de 64 CPU.

Asignar los subprocesos de hardware a las CPU

No use las opciones de configuración de servidor máscara de afinidad ni máscara de afinidad de E/S de 64 bits para enlazar procesadores a subprocesos específicos. Estas opciones se limitan a 64 CPU. En su lugar, use ALTER SERVER CONFIGURATION (Transact-SQL).

Administrar el tamaño de archivo de registro de transacciones

El crecimiento automático no es un método fidedigno para aumentar el tamaño del archivo de registro de transacciones. El aumento del registro de transacciones debe ser un proceso en serie. La ampliación del registro puede hacer que las operaciones de escritura de las transacciones no comiencen hasta que finalice esta ampliación. En su lugar, asigne espacio previamente para todos los archivos de registro de transacciones estableciendo el tamaño de archivo en un valor lo suficientemente alto como para admitir la carga de trabajo habitual del entorno.

Establecer el grado máximo de paralelismo para las operaciones de índice

Si se establece temporalmente el modelo de recuperación de la base de datos en el modelo de recuperación optimizado para cargas masivas de registros o en el modelo de recuperación simple, el rendimiento de las operaciones de índice, como la creación o recompilación de índices, se puede mejorar en equipos que tengan muchas CPU. Estas operaciones de índice pueden generar una actividad importante de registro y la conexión de registros puede afectar la elección del mejor grado de paralelismo (DOP) realizado por SQL Server.

Además, considere ajustar la configuración del grado máximo de paralelismo (MAXDOP) de estas operaciones. Las siguientes instrucciones se basan en tareas internas y en recomendaciones generales. Debe probar varias configuraciones distintas de MAXDOP con el fin de determinar la configuración óptima para su entorno.

  • En el modelo de recuperación completa, limite el valor de la opción Grado máximo de paralelismo en ocho o menos.

  • En el modelo de recuperación optimizado para cargas masivas de registros o en el modelo de recuperación simple, se debe considerar establecer el valor de la opción Grado máximo de paralelismo en un valor mayor que ocho.

  • En servidores con NUMA configurado, el grado máximo de paralelismo no debe superar el número de CPU que se asignan a cada nodo NUMA. Esto se debe a que es más probable que la consulta use la memoria local de un nodo NUMA, algo que puede mejorar el tiempo de acceso a la memoria.

  • En los servidores que tienen habilitado el hipersubprocesamiento y se fabricaron en 2009 o con anterioridad, el valor de MAXDOP no debe superar el número de procesadores físicos.

Para obtener más información sobre la opción max degree of parallelism, vea Grado de paralelismo.

Establecer el número máximo de subprocesos de trabajo

Establezca siempre el número máximo de subprocesos de trabajo en un valor superior al de la opción Grado máximo de paralelismo. El número de subprocesos de trabajo debe establecerse siempre en un valor que sea el séptuplo del número de CPU del servidor como mínimo. Para obtener más información, vea max worker threads (opción).

Usar seguimiento de SQL y SQL Server Profiler

Recomendamos no usar seguimiento de SQL ni SQL Server Profiler en un entorno de producción. La sobrecarga para ejecutar estas herramientas también aumenta según lo hace el número de CPU. Si debe utilizar Seguimiento de SQL en un entorno de producción, reduzca al mínimo los eventos de seguimiento. Genere el perfil y pruebe de forma meticulosa cada evento de seguimiento sujeto a carga, y evite utilizar combinaciones de eventos que afecten significativamente el rendimiento.

Establecer el número de archivos de datos de tempdb

Normalmente, el número de archivos de datos de tempdb debe coincidir con el número de CPU. Sin embargo, si considera con cuidado las necesidades de simultaneidad de tempdb, puede simplificar la administración de la base de datos. Por ejemplo, si un sistema tiene 64 CPU y solo 32 consultas suelen usar tempdb, no se mejorará el rendimiento si se aumenta el número de archivos de tempdb a 64. Para obtener más información, vea Optimizar el rendimiento de tempdb.

Componentes de SQL Server que pueden utilizar más de 64 CPU

La tabla siguiente enumera los componentes de SQL Server e indica si pueden utilizar más que 64 CPU.

Nombre del proceso

Programa ejecutable

Utiliza más de 64 CPU

SQL Server Database Engine (Motor de base de datos de SQL Server)

Sqlserver.exe

Reporting Services

Rs.exe

No

Analysis Services

As.exe

No

Integration Services

Is.exe

No

Service Broker

Sb.exe

No

Búsqueda de texto completo

Fts.exe

No

Agente SQL Server

Sqlagent.exe

No

SQL Server Management Studio

Ssms.exe

No

Instalación de SQL Server

Setup.exe

No