Evite los desajustes entre los núcleos de la CPU - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Evite los desajustes entre los núcleos de la CPU

Elegir un servidor que tenga un número de núcleos superior al que cubre la licencia puede provocar una distorsión de la CPU y un desperdicio de energía de la CPU. Esto se debe a la correlación entre los núcleos lógicos y reales. Cuando utilice el servidor de SQL con una licencia de acceso de cliente (CAL), algunos programadores serán VISIBLE ONLINE y el resto VISIBLE OFFLINE. Esto puede provocar problemas de rendimiento con las topologías de acceso a memoria no uniforme (NUMA), ya que los nodos del planificador no se utilizan de forma óptima.

Por ejemplo, si ejecutas el servidor de SQL en una instancia m5.24xlarge, detectará dos sockets con 24 núcleos y 48 procesadores lógicos por socket, lo que da como resultado un total de 96 procesadores lógicos. Si tiene una licencia para solo 48 núcleos, verá un mensaje similar al siguiente en el registro de errores del servidor de SQL:

2020-06-08 12:35:27.37 El servidor de SQL detectó 2 sockets con 24 núcleos por socket y 48 procesadores lógicos por socket, es decir, 96 procesadores lógicos en total; utilizó 48 procesadores lógicos basados en las licencias del servidor de SQL. Se trata de un mensaje informativo; no es necesaria ninguna acción por parte del usuario.

Si ve una diferencia entre el número total de núcleos y el número de núcleos que utiliza el servidor de SQL, compruebe si hay un desequilibrio en el uso de la CPU o utilice un tipo de servidor que tenga el mismo número de núcleos que admite su licencia.

Sesgo de CPU: para el tipo de instancia de nuestro ejemplo (m5.24xlarge), el servidor de SQL crea ocho nodos NUMA de forma predeterminada. Solo cuatro de estos nodos (ID de nodo principal 0,1,2,3) tienen programadores con el estado VISIBLE ONLINE. Los horarios restantes son todos VISIBLE OFFLINE. Esta disparidad entre los programadores puede provocar una degradación del rendimiento.

Para comprobar la información y el estado del planificador, utilice:

$ select * from sys.dm_os_schedulers

Si desea utilizar una instancia de servidor que tenga un número de núcleos superior al que admite su licencia del servidor de SQL, considere la posibilidad de personalizar el número de núcleos siguiendo las instrucciones de Especificación de las opciones de CPU para su instancia, en la documentación de Amazon EC2.