sql-server - una - sql server asistente para la optimizacion
Sugerencias de optimización tempdb de SQL Server para un nuevo servidor? (5)
Estoy planeando una nueva instalación de SQL Server 2005 en una máquina nueva, que tengo que pedir. Sé que tempdb tuning es muy importante para el rendimiento general de la instancia de SQL Server.
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, por ejemplo, para la configuración de configuración de disco duro / RAID a la que debo prestar atención?
¡Gracias!
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.
Hasta dónde llegar realmente depende de las otras bases de datos en el servidor y de si hacen mucho trabajo con tablas temporales, etc.
No he escuchado nada sobre varios archivos según la cantidad de CPU o núcleos.
Si tuviera que elegir a una persona en la que confío para que me ayude a configurar un servidor, sería Denny Cherry. Él escribió un artículo explicando esto.
http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1307255,00.html
Aquí 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, a la configuración del archivo, así como a algunas configuraciones dentro de la base de datos.
Configuración del disco físico
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. ''
El tempdb es una base de datos de escritura muy alta. Por lo tanto, una matriz RAID 5 no es el lugar adecuado para ello. Debe colocar tempdb en una matriz RAID 0 o RAID 10 ya que están optimizados para aplicaciones de escritura alta. 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
Debe tener un archivo físico por núcleo de CPU en el servidor . 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.
Tamaño del archivo de base
El tamaño de la base de datos tempdb puede afectar el rendimiento de un sistema. Por ejemplo, si el tamaño que se define para tempdb es demasiado pequeño, parte de la carga de procesamiento del sistema puede tomarse con autogrowing tempdb al tamaño requerido para soportar 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 analice la carga de trabajo existente realizando las siguientes tareas en un entorno de prueba de SQL Server:
- Establecer autogrow para tempdb (en un entorno de prueba!) .
- Ejecute consultas individuales o archivos de rastreo de carga de trabajo y monitoree el uso del espacio de tempdb.
- Ejecute operaciones de mantenimiento de índice, como la reconstrucción de índices y el monitoreo del espacio tempdb.
- Use los valores de uso de espacio de los pasos anteriores para predecir el uso total de su carga de trabajo; ajuste este valor para la actividad simultánea proyectada, y luego configure el tamaño de tempdb en consecuencia.
Las recomendaciones de tamaño mínimo para tempdb son las siguientes:
Envir. Size DB Size (MB) Log Size (MB)
----------- ------------ -------------
Small 1024 256
Medium 5120 1024
Large 10024 2048
Configuración de la base
Puede aumentar aún más el rendimiento de tempdb al deshabilitar las estadísticas de actualización automática , lo que le ahorrará algo de trabajo a su tempdb. También puede establecer la opción auto create statistics en false .
Descargo de responsabilidad: la configuración debe cambiarse 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 de tempdb, siga las pautas y recomendaciones proporcionadas en Optimización del rendimiento de tempdb .
¿Cómo controlar el uso de tempdb?
Quedarse sin espacio en disco en tempdb puede causar interrupciones significativas en el entorno de producción de SQL Server y puede evitar que las aplicaciones que se están ejecutando completen las operaciones.
Puede utilizar 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 usar para identificar grandes consultas, tablas temporales o variables de tablas que usan 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.
Campo de golf:
- Microsoft Technet: trabajando con tempdb en SQL Server 2005
- SearchSQLServer.com: las mejores prácticas de tempdb de SQL Server aumentan el rendimiento
- Biblioteca de MSDN: optimización del rendimiento de tempdb
- SearchSQLServer.com: configure SQL Server 2005 TempDB para el rendimiento
- Biblioteca MSDN: planificación de capacidad para tempdb
- Biblioteca MSDN: solución de problemas de espacio en disco insuficiente en tempdb
recomendaría 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, puede mirar aquí: configuración tempdb de SQL Server
Consulte también esta publicación de SQL Server Transaction Log RAID que contiene una discusión sobre el diseño del servidor que toca algunos de los problemas relacionados con tempdb.