2008-12-11 25 views
16

Estoy planeando una instalación nueva de SQL Server 2005 en una nueva máquina, que tengo que pedir. Sé que sintonía tempdb es muy importante para el rendimiento general de la instancia de SQL Server.SQL Server tempdb consejos de optimización para un nuevo servidor?

He leído que es una buena práctica crear tantos archivos tempdb como CPU (o núcleos). ¿Es eso correcto? ¿Hay alguna otra recomendación, p. para la configuración de configuración de disco duro/RAID, ¿debería prestar atención?

Gracias!

Respuesta

6

Si tuviera que elegir a una persona de confianza para asesorarme en la configuración de un servidor, sería Denny Cherry. Él escribió un artículo explicando esto.

http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1307255,00.html

+1

Gran artículo, gracias por el enlace! – splattne

+8

Odio los sitios que requieren un registro para leer un artículo –

+4

No puedo leer el artículo completo porque no estoy registrado para el sitio, pero el primer párrafo contiene un mito común: "Con bases de datos de usuario estándar , se recomienda que establezca el número de archivos físicos para cada base de datos en .25 en un archivo físico por núcleo de CPU ". Esto solo es válido para TempDB para evitar un cuello de botella de asignación de objetos común, NO para bases de datos de usuario. http://blogs.msdn.com/b/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx –

2

Por lo que he leído, es mejor poner tempDB en su propio disco físico (o matriz). Para obtener la velocidad máxima, puede colocar una matriz de banda 0. Sin embargo, si uno de los discos falla, el servidor DB se volverá inoperativo. Si quieres más redundancia, ponla en una matriz de banda 10. La clave real parece estar separándola de las otras bases de datos porque puede haber tanta actividad en TempDB.

tan lejos llegues realmente depende de las otras bases de datos en el servidor y si lo hacen mucho trabajo con las tablas temporales, etc.

no he oído nada acerca de múltiples archivos basado en el número de CPU o núcleos.

31

Esto es lo que investigué a mí mismo de una variedad de fuentes.

Para optimizar el rendimiento de tempdb, preste atención a la configuración del disco físico, la configuración del archivo, así como algunas configuraciones dentro de la base de datos.

disco físico configuración

tempdb debe residir en sus propios discos físicos dedicados. Esto le permite dividir las transacciones de E/S del resto de los volúmenes en SQL Server.

Para mover tempdb a una nueva unidad de disco, use ALTER DATABASE. Es el comando clave T-SQL para realizar esta operación. Microsoft ofrece un buen ejemplo en los Libros en pantalla de SQL Server 2005. El nombre del artículo es ALTER DATABASE (Transact-SQL) y la sección específica es 'G. Mover tempdb a una nueva ubicación. '

La tempdb es una base de datos muy alta de escritura. Por lo tanto, una matriz RAID 5 no es el lugar adecuado para ello. Debe poner el tempdb ya sea en una matriz RAID 0 o RAID 10, ya que está optimizado para aplicaciones de alta escritura. Si puede pagar matrices RAID 0 o RAID 10 adicionales para cada archivo de base de datos física para tempdb, obtendrá un mayor rendimiento.

archivos de base de datos

usted debe tener un archivo físico por núcleo de CPU en el servidor de. Por lo tanto, si tiene un servidor dual-core de doble núcleo, debe tener cuatro archivos de base de datos físicos para la base de datos tempdb. Al agregar más archivos de base de datos, es importante configurar los archivos en el mismo tamaño inicial y con la misma configuración de crecimiento. De esta forma, SQL Server escribirá los datos en los archivos lo más uniformemente posible.

archivo de base de datos de tamaño

El tamaño de la base de datos tempdb puede afectar el rendimiento de un sistema. Por ejemplo, si el tamaño definido para tempdb es demasiado pequeño, parte de la carga de procesamiento del sistema puede ser con tempdb de crecimiento automático al tamaño requerido para admitir la carga de trabajo cada vez que reinicie la instancia de SQL Server. Puede evitar esta sobrecarga aumentando los tamaños de los datos tempdb y el archivo de registro.

La determinación del tamaño apropiado para tempdb en un entorno de producción depende de muchos factores, incluida la carga de trabajo existente y las características de SQL Server que se utilizan. Microsoft recomienda que se analiza la carga de trabajo existente mediante la realización de las siguientes tareas en un entorno deprueba de SQL Server: (en un entorno de prueba)

  1. Conjunto de crecimiento automático para tempdb .
  2. Ejecute consultas individuales o archivos de rastreo de carga de trabajo y supervise el uso de espacio tempdb.
  3. Ejecute operaciones de mantenimiento de índices, como la reconstrucción de índices y el monitoreo del espacio tempdb.
  4. Use los valores de uso del espacio de los pasos anteriores para predecir el uso total de la carga de trabajo; ajuste este valor para la actividad simultánea proyectada, y luego configure el tamaño de tempdb según corresponda.

recomendaciones de talla mínima para tempdb son los siguientes:

Envir. Size DB Size (MB) Log Size (MB) 
    ----------- ------------ ------------- 
    Small    1024   256 
    Medium    5120   1024 
    Large    10024   2048 

Propiedades de la base

Puede aumentar aún más el rendimiento de tempdb por deshabilitar la actualización automática de estadísticas, que ahorrará su tempdb un trabajo También puede configurar opción de creación automática de estadísticas en falso.

Descargo de responsabilidad: Las configuraciones se deben cambiar con cuidado. Dependiendo del tipo de carga que coloque en su tempdb, cambiar la configuración podría afectar negativamente el rendimiento del sistema.

Para lograr un rendimiento óptimo tempdb, sigue las instrucciones y recomendaciones proporcionadas en Optimizing tempdb Performance.

Cómo controlar el uso de tempdb?

Correr sin espacio en disco en tempdb puede causar interrupciones significativas en el entorno de producción de SQL Server y puede impedir que las aplicaciones que se ejecutan las operaciones que terminan.

Puede usar la vista de administración dinámica sys.dm_db_file_space_usage para supervisar el espacio en disco utilizado por estas características en los archivos tempdb. Además, para supervisar la asignación de página o la actividad de desasignación en tempdb en la sesión o el nivel de la tarea, puede usar las vistas de administración dinámica sys.dm_db_session_space_usage y sys.dm_db_task_space_usage.

Estas vistas se pueden utilizar para identificar grandes consultas, tablas temporales o variables de tabla que utilizan mucho espacio de disco tempdb. También hay varios contadores que se pueden usar para supervisar el espacio libre disponible en tempdb y también los recursos que usan tempdb.

Enlaces:

0

lo recomendaría para crear archivos de datos entre 1/2 y 1/4 * número de núcleos. debe colocar estos archivos en el disco más rápido que tenga

para más información se puede ver aquí: SQL Server tempdb configuration

+0

[Este artículo] (http://cc.davelozinski.com/sql/increase-sql-server-tempdb-performance) también es una buena lectura al crear archivos en función de la cantidad de núcleos que tiene. –

Cuestiones relacionadas