affinity Input-Output mask (opción de configuración del servidor)

Se aplica a:SQL Server

Para realizar varias tareas, Microsoft Windows a veces mueve subprocesos del proceso entre diferentes procesadores. Aunque es eficaz desde el punto de vista del sistema operativo, esta actividad puede reducir el rendimiento de Microsoft SQL Server en casos de elevadas cargas, ya que cada caché de procesador se recarga repetidamente con los 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 la afinidad del procesador por medio de dos opciones de máscara de afinidad: affinity mask (también conocida como CPU affinity mask) y affinity I/O mask. Para obtener más información sobre la opción affinity mask , vea affinity mask (opción de configuración del servidor). La compatibilidad de afinidad de CPU y E/S con servidores con entre 33 y 64 procesadores exige el uso adicional de las opciones de configuración del servidor affinity64 mask y affinity64 I/O mask , 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 del disco de SQL Server a un subconjunto específico 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 la afinidad de hardware para controladores de discos o discos individuales.

El valor de affinity I/O mask especifica las CPU de un equipo con varios procesadores que se pueden seleccionar para procesar operaciones de E/S del 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 tanto affinity I/O mask como affinity64 I/O mask.

Los valores de affinity I/O mask son los siguientes:

  • Una máscara affinity I/O mask de 1 byte cubre hasta 8 CPU en un equipo con varios procesadores.

  • Una máscara affinity I/O mask de 2 bytes cubre hasta 16 CPU en un equipo con varios procesadores.

  • Una máscara affinity I/O mask de 3 bytes cubre hasta 24 CPU en un equipo con varios procesadores.

  • Una máscara affinity I/O mask de 4 bytes cubre hasta 32 CPU en un equipo con varios procesadores.

  • Para cubrir más de 32 CPU, configure una opción affinity I/O mask de cuatro bytes para las 32 primeras CPU y una opción affinity64 I/O mask de hasta 4 bytes para las CPU restantes.

El valor 1 bit en el patrón de afinidad de E/S especifica que la CPU correspondiente se puede seleccionar para realizar operaciones de E/S del disco de SQL Server ; El valor 0 bit especifica que no se debería programar ninguna operación de E/S del disco de SQL Server para la CPU correspondiente. Cuando todos los bits se establecen como cero, o bien no se especifica affinity I/O mask , la E/S del disco de SQL Server se programa en cualquiera de las CPU que se pueden seleccionar para procesar subprocesos de SQL Server .

Dado que establecer la opción de SQL Server Máscara de afinidad de E/S es una operación especializada, solo debería usarse en caso 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 affinity I/O mask , hay que usarla junto con la opción de configuración affinity mask . No habilite la misma CPU en el modificador affinity I/O mask y la opción affinity mask . Los bits correspondientes a cada CPU deberían estar en uno de los tres estados siguientes:

  • 0 tanto en la opción affinity I/O mask como en la opción affinity mask .

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

  • 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 sistema sp_configure para cambiar la configuración, solo podrá cambiar el valor de affinity I/O mask si Mostrar opciones avanzadas está establecido en 1. En SQL Server, para reconfigurar la opción affinity I/O mask hay que reiniciar la instancia SQL Server .

Precaución

No configure la afinidad de CPU en el sistema operativo Windows y 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. SQL Server La afinidad de CPU se configura mejor con la opción sp_configure de SQL Server.

Consulte 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)