Última parte de este curso de Azure DP-300 que os traigo en Español. Podéis encontrar la primera parte haciendo click aquí.
Esta vez hablaremos sobre rendimiento en Azure SQL.
Mejorar el rendimiento del SO en SQL Server
- CPU: Configurar el MAXDOP y paralelismo
- RAM: Configurar el mínimo y el máximo de memoria que puede usar la instancia.
- Almacenamiento: Siempre recomiendo que se usen al menos 3 discos por instancia (Datos,Logs, tempdb con un archivo por cada core). Los discos deben ser lo más rápidos posibles, por lo tanto SSD mejor.
Identificar problemas de rendimiento en SQL Server
Herramientas para detectar problemas de rendimiento en SQL Server
- Activity Monitor: Ofrece una visión general y en tiempo real de la actividad de la instancia.
- Standard Reports: Una amplia variedad de información dentro de SSMS, pero con límites.
- MDW: Una utilidad integrada en SQL Server para realizar un seguimiento de los datos de rendimiento a lo largo del tiempo
- DMVs y EE: Dynamic Management Views y Extended Events dan una información detallada de la superficie.
- Query Store: Ofrece información sobre los planes de ejecución elegidos y también del rendimiento de las bases de datos en sí.
- Portal Metrics: Ofrecen información sobre cualquier cosa desde la salud del servidor hasta el rendimiento de la base de datos.
- Intelligent Performance: Usa una inteligencia artificial automatizada para seguir los problemas de rendimiento y sugerir soluciones.
- Stream Metrics: transmita registros de información a SQL Analytics, Azure Event Hubs o Azure Storage.
Extended Events
Esta herramienta nos permitirá configurar sesiones que capturen información o eventos que nosotros especifiquemos. Cuidado, pueden crear problemas de rendimiento.
Estas sesiones deben ser iniciadas siempre que queramos o configurar para que se inicie a la vez que la instancia.
Los resultados pueden verse en vivo o guardarse en archivos de excel.
Se puede configurar en SSMS o via T-SQL.
Crear un evento extendido en SQL Server
- Abre SQL Server Management Studio y conecte a la instancia.
- Expandir el árbol de servidores y haga clic en la opción «Extended Events» bajo «Gestión de motor de base de datos».
- Haz clic en el botón «Nuevo evento extendido» en la barra de herramientas de la ventana.
- Elegir el tipo de evento que desea crear, ya sea un evento predefinido o uno personalizado. Tendremos que añadir los eventos deseados si es necesario.
- Seleccionar los detalles del evento, como el nombre y la descripción del evento, así como la configuración de recopilación de datos y filtros.
- Clic en el botón «Crear» para crear el evento.
Puedes ver los datos recopilados por el evento, modificar su configuración y controlar su estado en cualquier momento.
Escalar recursos en Azure SQL
Podría llegar el momento en que nuestro sistema inicial no sea lo suficiente potente para las necesidades actuales y esto nos obligue a aumentar los recursos y a escalar nuestro sistema.
Esto lo podemos hacer usando el portal de Azure o usando T-SQL o cualquier otro tipo de código o script.
Siempre es importante tener en cuenta que estos procesos podrían necesitar de downtimes para realizarse.
Escalar hacia arriba
Esto lo querremos hacer cuando los recursos actuales no sean suficientes para suplir las necesidades que tenemos.
Estás son las opciones disponibles:
- Cambiar entre DTU y vCore
- Cambiar los tiers de los recursos
- Incrementar los recursos dentro del mismo tier
Escalar hacia afuera
- Añadir read-only replicas
- Dividir los datos en distintas bases de datos
Mejorar rendimiento de las consultas SQL Server
Mejorar el rendimiento en SQL Server
Todas las tareas de mantenimiento SQL Server que verás a continuación se pueden automatizar usando jobs de mantenimiento como por ejemplo los jobs de mantenimiento Ola Hallengren. Automatizar estas tareas nos ayudará a poder programarlas en el tiempo y a evitar errores humanos.
Indices SQL Server
Los índices son básicamente atajos para los datos, haciendo más fácil acceder a ellos.
Recorrer toda la información para encontrar un dato puede hacer que el rendimiento empeore, mientras que si accedemos a esos datos mediante índices será más rápido.
Uno de los principales problemas es la fragmentación en los índices, que ocurre cuando los datos se dividen a través de muchas páginas, haciendo esto más difícil para encontrarlos.Si esto ocurre, tenemos 2 opciones:
- Reorganize index: Mezcla los datos registrando el nivel de hoja de los índices.
- Rebuild index: Reconstruye el índice desde 0.
Estadísticas SQL Server
Tener unas estadísticas actualizadas y precisas nos ayudará a poder optimizar nuestras querys usando el Query Optimizer
Database Integrity Check
Comprueba la asignación y la integridad estructural de tablas e índices, ayudándote a protegerte de la corrupción de datos.