Compartir a través de


Opción de configuración del servidor de máscara de afinidad Input-Output

Para llevar a cabo varias tareas, Microsoft Windows 2000 y Windows Server 2003 a veces mueven subprocesos de proceso entre diferentes procesadores. Aunque es eficaz desde un punto de vista del sistema operativo, esta actividad puede reducir el rendimiento de Microsoft SQL Server en cargas pesadas del sistema, ya que cada caché del procesador se vuelve a cargar repetidamente con datos. La asignación de procesadores a subprocesos específicos puede mejorar el rendimiento en estas condiciones, ya que se eliminan las recargas de procesador; esta asociación entre un subproceso y un procesador se denomina afinidad del procesador.

SQL Server admite afinidad de procesador mediante dos opciones de máscara de afinidad: máscara de afinidad (también conocida como máscara de afinidad de CPU) y máscara de E/S de afinidad. Para obtener más información sobre la opción máscara de afinidad, consulte opción de configuración del servidor de máscara de afinidad. La compatibilidad de afinidad de CPU y e/s para servidores con procesadores de 33 a 64 requiere el uso adicional de la opción de configuración del servidor affinity64 mask y de la opción de configuración del servidor affinity64 Input-Output, respectivamente.

Nota:

La compatibilidad de la afinidad con servidores que tienen entre 33 y 64 procesadores solo está disponible en sistemas operativos de 64 bits.

La opción affinity I/O mask enlaza la E/S de disco de SQL Server a un subconjunto especificado de CPU. En entornos de procesamiento de transacciones en línea (OLTP) de SQL Server de grandes prestaciones, esta extensión puede mejorar el rendimiento de los subprocesos de SQL Server que emiten E/S. Esta mejora no admite afinidad de hardware para discos individuales o controladores de disco.

El valor para affinity I/O mask especifica qué CPUs de un equipo multiprocesador son elegibles para procesar operaciones de E/S de disco de SQL Server. La máscara es un mapa de bits en el que el primer bit de la derecha especifica la CPU(0) de menor orden, el bit inmediatamente a su izquierda especifica la CPU(1) siguiente a la de menor orden, y así sucesivamente. Para configurar más de 32 procesadores, establezca la máscara de E/S de afinidad y la máscara de E/S affinity64.

Los valores de la máscara de E/S de afinidad son los siguientes:

  • Una máscara de E/S de afinidad de 1 byte cubre hasta 8 CPU en un equipo multiprocesador.

  • Una máscara de E/S de afinidad de 2 bytes cubre hasta 16 CPU en un equipo de varios procesadores.

  • Una máscara de E/S de afinidad de 3 bytes cubre hasta 24 CPU en un equipo de varios procesadores.

  • Una máscara de E/S de afinidad de 4 bytes cubre hasta 32 CPU en un equipo de varios procesadores.

  • Para cubrir más de 32 CPU, configure una máscara de E/S de afinidad de cuatro bytes para las primeras 32 CPU y una máscara de E/S de afinidad64 de cuatro bytes para las CPU restantes.

Un patrón de E/S de afinidad de 1 bit especifica que la CPU correspondiente es apta para realizar operaciones de E/S de disco de SQL Server; un bit de 0 especifica que no se debe programar ninguna operación de E/S de disco de SQL Server para la CPU correspondiente. Cuando todos los bits se establecen en cero o no se especifica la máscara de E/S de afinidad, la E/S de disco de SQL Server se asigna a cualquiera de las CPU aptas para procesar los subprocesos de SQL Server.

Dado que establecer la opción máscara de E/S de afinidad de SQL Server es una operación especializada, solo se debe usar cuando sea necesario. En la mayoría de los casos, la afinidad predeterminada de Windows 2000 o Windows Server 2003 proporciona el mejor rendimiento.

Al especificar la opción máscara de E/S de afinidad, debe usarla con la opción configuración de máscara de afinidad. No habilite la misma CPU tanto en el modificador Máscara de afinidad de E/S como en la opción Mascara de afinidad. Los bits correspondientes a cada CPU deberían estar en uno de los tres estados siguientes:

  • 0 tanto en la opción máscara de afinidad I/O como en la opción máscara de afinidad.

  • 1 en la opción máscara de afinidad de E/S y 0 en la opción máscara de afinidad.

  • 0 en la opción affinity I/O mask y 1 en la opción affinity mask.

La opción affinity I/O mask es una opción avanzada. Si usa el procedimiento almacenado del sp_configure sistema para cambiar la configuración, puede cambiar la máscara de E/S de afinidad solo cuando se muestran las opciones avanzadas en 1. En SQL Server, volver a configurar la opción de máscara de E/S de afinidad requiere un reinicio de la instancia de SQL Server.

Precaución

No configuréis la afinidad de CPU en el sistema operativo Windows ni configuréis la máscara de afinidad en SQL Server. Esta configuración intenta lograr el mismo resultado y, si las configuraciones no son coherentes, puede obtener resultados impredecibles. La afinidad de CPU de SQL Server se configura mejor mediante la opción sp_configure de SQL Server.

Véase también

Supervisar el uso de recursos (Monitor de sistema)
RECONFIGURE (Transact-SQL)
Opciones de configuración de servidor (SQL Server)
sp_configure (Transact-SQL)