Published on

September 21, 2015

Optimizando el rendimiento de SQL Server con múltiples núcleos

Como administrador de bases de datos de SQL Server, uno de los problemas más comunes con los que me encuentro es la solución de problemas de rendimiento. Siempre es interesante recibir correos electrónicos de lectores que comparten sus experiencias y desafíos, ya que me brinda la oportunidad de aprender y explorar nuevos conceptos. Recientemente, recibí una pregunta de un usuario que tenía un servidor grande con cerca de 80 núcleos, pero notó que SQL Server no los estaba utilizando de manera eficiente. Esto planteó preocupaciones sobre si SQL Server está optimizado para contar con un alto número de núcleos.

Al investigar el problema, descubrí algunas posibles causas por las cuales SQL Server no utiliza todos los núcleos disponibles:

Máscara de afinidad

Una posible causa es la máscara de afinidad, que restringe el uso de la CPU de SQL Server al atarle las manos. Si alguien ha configurado incorrectamente la máscara de afinidad, puede limitar la cantidad de núcleos que SQL Server puede utilizar. Para verificar si la máscara de afinidad está habilitada, puede utilizar el siguiente script DMV en sys.dm_os_schedulers:

SELECT * FROM sys.dm_os_schedulers
GO

Si encuentra algún programador con la columna “is_online” establecida en 0, indica que esos programadores están deshabilitados y pueden causar problemas de rendimiento.

Mala configuración de la virtualización

Si su SQL Server se está ejecutando en un entorno virtualizado, es importante asegurarse de que los núcleos virtuales estén configurados correctamente. A veces, pueden ocurrir configuraciones incorrectas, lo que lleva a un rendimiento subóptimo. Considere aumentar el número de núcleos por socket virtual, ya que este es un cambio de software que generalmente no afecta el rendimiento. Sin embargo, tenga cuidado con cualquier problema de configuración NUMA que pueda surgir.

Limitaciones de licencia

Otro factor a considerar son las limitaciones de licencia. Si recientemente actualizó su instancia de SQL Server, es posible que esté utilizando la licencia incorrecta o desconozca las limitaciones de su licencia. Por ejemplo, si actualizó de una licencia basada en CAL a SQL Server 2012 Enterprise, es posible que esté limitado a un máximo de 20 núcleos. Es crucial verificar los detalles de su licencia para asegurarse de que no esté limitando inadvertidamente el uso de núcleos por parte de SQL Server.

Al abordar estas posibles causas, puede optimizar el rendimiento de SQL Server y asegurarse de que utilice de manera efectiva todos los núcleos disponibles. Es importante monitorear y revisar regularmente la configuración de su servidor para identificar cualquier cuello de botella de rendimiento y realizar los ajustes necesarios.

Espero que esta información le ayude a solucionar problemas y optimizar el rendimiento de su SQL Server. Si tiene alguna pregunta o inquietud adicional, no dude en comunicarse conmigo. ¡Feliz optimización!

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.