Azure · Database · Desempenho · SQL

Análisis de Desempeño de Azure SQL Database

Todos hemos pasado rabia con aplicaciones lentas y no había forma de descubrir qué podría estar sucediendo, pues aparentemente todo estaba normal.

¿Ya pensaste en hacer un análisis de rendimiento en Azure SQL Database?

Análisis de Desempeño

El análisis identifica consultas que consumen más recursos y tienen tiempos de ejecución prolongados, ayudando a localizar consultas que necesitan ser optimizadas.

Este tipo de análisis puede realizarse tanto en databases en modo standalone o cuando forman parte de un Elastic Pool.

Sin embargo, vale señalar que para utilizar este recurso, es necesario que el Repositório de Consultas esté activo en su banco de datos. Por defecto, se habilita automáticamente en todas las bases de datos en Azure SQL.

Permisos

Para tener acceso a Análisis de Desempeño (Query Performance Insights), necesitas una de las siguientes permisos de RBAC de Azure:

  • Para tener acceso a las consultas principales y gráficos que consumen muchos recursos
    • Lector (Reader)
    • Propietario (Owner)
    • Colaborador (Contributor)
    • Colaborador de DB SQL (SQL DB Contributor)
    • Colaborador de SQL Server (SQL Server Contributor)
  • Para mostrar el texto de la consulta
    • Propietario
    • Colaborador
    • Colaborador de DB SQL
    • Colaborador de SQL Server

Acceder al Análisis de Desempeño de Consultas

Con la base de datos que quieres examinar abierta, ve al menú izquierdo, busca Intelligent Performance y accede Query Performance Insight

Al lado derecho, aparecerá un gráfico con las cinco consultas que más consumen recursos, así como la lista que contiene cada una de las consultas (queries) para obtener información más detallada sobre cada una

Analizando el gráfico, es claro, en este escenario, que la consulta (query) que más consume recursos es la de color rojo, así que vamos a seleccionarla para mostrar de forma detallada el análisis.

  • El primer gráfico muestra el porcentaje general de CPU utilizado
  • El gráfico del medio muestra la duración total de la consulta
  • Por último, el total de ejecuciones de la consulta

Y además, al final de la página, es posible verificar por intervalo de hora la CPU utilizada, Data I/O, Log I/O, el tiempo empleado para ejecutar la consulta y, también, la cantidad de veces que fue ejecutada en ese periodo.

Con esta visualización, es posible analizar y determinar si existe o no algún cuello de botella que la base de datos pueda estar causando en su aplicación

Referencias:

Análise de DesempenhoAzureAzure SQL DatabaseDatabaseDesempenhoSQL
Análisis de Desempeño de Azure SQL Database — Vinicius Deschamps