Desempeño de SQL Server 2008 R2 y Max Worker Threads

El parámetro max worker threads se utiliza para configurar la cantidad de worker threads disponibles para los procesos de SQL Server, esto ayuda a optimziar el desempaño cuando gran cantidad clientes están conectados al servidor. La opción max worker threads permite que SQL Server cree un pool de worker threads para atender a gran cantidad de peticiones, lo cual mejora el desempeño. La opción por omisión es 0 y permite que SQL Server configure automáticamente el número de worker threads al inicio del servicio. Algunas veces para mejorar el desempeño es mejor especificar un valor directamente, usted puede utilizar la siguiente tabla como referencia:

 

Cantidad de CPUs

servidor 32-bit

servidor 64-bit

<= 4 procesadores

256

512

8 procesadores

288

576

16 procesadores

352

704

32 procesadores

   

Fuente: http://technet.microsoft.com/en-us/library/ms187024.aspx

 

Con base en el blog de Bob Duffy http://blogs.msdn.com/b/boduff/archive/2008/05/17/configuring-max-worker-threads-in-sql-2005.aspx se puede determinar la cantidad de threads que está utilizando SQL Server con la siguiente DMV:

select max_workers_count From sys.dm_os_sys_info

select count(*) from sys.dm_os_threads

Además Bob recomeinda la siguiente fórmula para calcular los worker threads:

 

  1. Para sistemas  x86 donde el total de procesadores lógicos es <=4
    • # max worker threads = 256
  2. Sino :
    • # max worker threads = 256 + ((# Procs – 4) * 8)
  3. Para sistemas x64 donde el total de procesadores lógicos es <= 4
    • # max worker threads = 512
  4. Sino
    • # max worker threads = 512 + ((# Procs – 4) * 16)

 

Hay que tomar en cuenta que Hyper-threading causa que SQL Server crea que tiene más procesadores físicos disponibles, puesto que aparecen como si fuesen dos cores distintos y SQL Server podría crear demasiados threads, en ese caso usted podría especificar directamente la cantidad de worker threads.

 

Saludos,

Ing. Eduardo Castro Martínez, PhD – Microsoft SQL Server MVP

image image image image

http://mswindowscr.org

http://comunidadwindows.org

Costa Rica

Technorati Tags: SQL Server

LiveJournal Tags: SQL Server

del.icio.us Tags: SQL Server

http://ecastrom.blogspot.com

http://ecastrom.wordpress.com

http://ecastrom.spaces.live.com

http://universosql.blogspot.com

http://todosobresql.blogspot.com

http://todosobresqlserver.wordpress.com

http://mswindowscr.org/blogs/sql/default.aspx

http://citicr.org/blogs/noticias/default.aspx

http://sqlserverpedia.blogspot.com/

Note: Cross posted from Eduardo Castro.

Permalink

Comments

Popular posts from this blog

Cómo identificar consultas más pesadas en SQL Server

SQL Server La longitud de los datos LOB (2200100) que se van a replicar excede el máximo configurado 65536.