Configuración y mantenimiento del rendimiento

Completado

Comprender las funciones de Azure SQL es importante para ofrecer un rendimiento coherente. También es importante conocer las opciones y restricciones que deben configurarse en Azure SQL Managed Instance y Azure SQL Database que pueden afectar al rendimiento. Entre estas estructuras se incluyen las siguientes:

  • Temas de la base de datos de tempdb
  • Configuración de bases de datos
  • Configuración de archivos y grupos de archivos
  • Configuración del grado máximo de paralelismo
  • Uso de Resource Governor
  • Mantenimiento de índices y estadísticas

tempdb

La base de datos del sistema tempdb es un recurso compartido importante que usan las aplicaciones. Garantizar la correcta configuración de tempdb puede afectar a la capacidad de ofrecer un rendimiento coherente. tempdb se usa de la misma forma en SQL Server y Azure SQL. Sin embargo, tenga en cuenta que la capacidad de configurar tempdb es diferente, incluida la ubicación de los archivos, el número y el tamaño de los archivos, y las opciones de configuración de tempdb.

Los archivos de base de datos de tempdb siempre se almacenan automáticamente en unidades SSD locales, por lo que el rendimiento de E/S no debe ser un problema.

Los profesionales de SQL Server suelen usar más de un archivo de base de datos para particionar las asignaciones para las tablas de tempdb. En Azure SQL Database, el número de archivos se escala con el número de núcleos virtuales (por ejemplo, dos núcleos virtuales equivalen a cuatro archivos) con un máximo de 16 archivos. El número de archivos no se puede configurar a través de T-SQL en tempdb, pero puede efectuarse cambiando la opción de implementación. El tamaño máximo de tempdb se escala por número de núcleos virtuales. En SQL Managed Instance se obtienen 12 archivos, independientemente de los núcleos virtuales.

La opción de base de datos MIXED_PAGE_ALLOCATION está establecida en DESACTIVADO y AUTOGROW_ALL_FILES en ACTIVADO. No se puede configurar, pero, al igual que con SQL Server, estos son los valores predeterminados recomendados.

La característica de optimización de metadatos de tempdb introducida en SQL Server 2019, que puede aliviar la contención de bloqueos temporales pesados, no está disponible actualmente en Azure SQL Database o Azure SQL Managed Instance.

Configuración de la base de datos

Por lo general, una base de datos se configura con las instrucciones ALTER DATABASE y ALTER DATABASE SCOPED CONFIGURATION de T-SQL. Muchas de las opciones de configuración del rendimiento están disponibles para Azure SQL. Consulte la referencia de T-SQL de ALTER DATABASE y ALTER DATABASE SCOPED CONFIGURATION para conocer las diferencias entre SQL Server, Azure SQL Database y Azure SQL Managed Instance.

En cuanto al rendimiento, una opción que no se puede modificar es el modelo de recuperación de la base de datos. El valor predeterminado es recuperación completa. Esto garantiza que la base de datos pueda cumplir los acuerdos de nivel de servicio (SLA) de Azure. Por tanto, no se admite el registro mínimo de operaciones masivas. El registro mínimo de operaciones masivas es compatible con tempdb.

Archivos y grupos de archivos

Los profesionales de SQL Server suelen usar archivos y grupos de archivos para mejorar el rendimiento de E/S a través de la ubicación física de los archivos. Azure SQL no permite a los usuarios colocar archivos en sistemas de disco específicos. No obstante, Azure SQL tiene compromisos de recursos de rendimiento de E/S relativos a tasas, IOPS y latencias, de modo que el hecho de que los usuarios no puedan colocar archivos en ubicaciones físicas puede constituir una ventaja.

Azure SQL Database solo tiene un archivo de base de datos (Hiperescala suele tener varios) y el tamaño máximo se configura a través de las interfaces de Azure. No existe ninguna funcionalidad para crear archivos adicionales.

Azure SQL Managed Instance admite la adición de archivos de base de datos y la configuración de tamaños, pero no la ubicación física de los archivos. Puede usar el número de archivos y el tamaño de los archivos de la instancia administrada de SQL para mejorar el rendimiento de E/S. Además, los grupos de archivos definidos por el usuario son compatibles con SQL Managed Instance para fines de administración.

Configuración de MAXDOP

El grado máximo de paralelismo (MAXDOP) puede afectar al rendimiento de consultas individuales. SQL Server y Azure SQL tratan MAXDOP de la misma manera. MAXDOP se puede configurar en Azure SQL de forma similar a SQL Server a través de las siguientes técnicas:

  • En Azure SQL, se puede usar ALTER DATABASE SCOPED CONFIGURATION para configurar MAXDOP.
  • En Managed Instance, se puede usar el procedimiento almacenado sp_configure para "grado máximo de paralelismo".
  • Las sugerencias de consulta MAXDOP son totalmente compatibles.
  • En Managed Instance, MAXDOP se puede configurar con Resource Governor.

regulador de recursos

Resource Governor es una característica de SQL Server que se puede usar para controlar el uso de los recursos de cargas de trabajo a través de E/S, CPU y memoria. Conviene recordar que, con los grupos y grupos de cargas de trabajo definidos por el usuario, Resource Governor se puede usar en SQL Managed Instance, pero no en Azure SQL Database.

Mantenimiento de índices

La creación y mantenimiento de índices de Azure SQL es exactamente igual que en SQL Server. Por ejemplo, la creación, reconstrucción y reorganización de índices es totalmente compatible, como en SQL Server. Esto incluye los índices en línea y reanudables.

Mantenimiento de estadísticas

SQL Server y Azure SQL tratan las estadísticas de la misma manera. Las opciones de estadísticas automáticas de las bases de datos están disponibles en ambos productos.

Ahora que ha aprendido algunas de las opciones de configuración y mantenimiento para el rendimiento de Azure SQL, complete la siguiente comprobación de conocimientos antes de continuar con la unidad siguiente.

Prueba de conocimientos

1.

¿Con qué método se puede configurar el número de archivos de tempdb para Azure SQL Database?

2.

¿Con qué método se puede configurar el rendimiento de E/S de Azure SQL Database?

3.

¿Cómo se mantienen los índices con Azure SQL?