sql >> Base de Datos >  >> RDS >> Sqlserver

Comprensión de Workload Analyzer para mapear cuellos de botella de rendimiento

Cuando un usuario o una aplicación realiza solicitudes a una base de datos, consume recursos en ese sistema. A medida que aumenta el número de solicitudes, es posible que experimente esperas de recursos. Estas esperas generan cuellos de botella en el rendimiento y, en el caso de las bases de datos implementadas en la nube, ¡costos mensuales adicionales! Al diagnosticar cuellos de botella en el rendimiento, el primer paso es comprender qué recursos se ven afectados.

Ser capaz de asignar un cuello de botella de rendimiento a una espera de recurso específica, luego a un código específico y finalmente a la carga de trabajo de un usuario específico le permitirá llegar a la causa raíz y resolver el cuello de botella de forma permanente.

Por ejemplo, es posible que descubra que una aplicación se está ejecutando con lentitud porque la CPU está consumida en exceso en el servidor de la base de datos porque Matt, en el departamento de compras, está ejecutando un informe de inventario en la base de datos de la planta.

Workload Analyzer de Spotlight Cloud es la herramienta que lo hace posible con su navegación fácil de usar.

Cómo usar el analizador de carga de trabajo de Spotlight Cloud

Para comenzar, puede seleccionar el marco de tiempo de interés. Spotlight Cloud almacena un año de datos, por lo que puede volver a cualquier momento o intervalo de tiempo del año pasado.

Luego tienes la opción de filtrar por recurso. Por ejemplo, si sabe que el problema está relacionado con la CPU, puede seleccionar el recurso de la CPU. Al hacerlo, filtra la información relacionada con todos los demás recursos, como E/S, bloqueos y memoria, lo que elimina efectivamente el ruido blanco y facilita llegar a la causa principal.

Página predeterminada del Analizador de carga de trabajo

Profundice en la dimensión de las bases de datos y ordenará las principales bases de datos que consumen la mayor cantidad de recursos de mayor a menor y las sombreará correspondientemente. Este mecanismo de clasificación se conserva en cada iteración de un desglose.

Profundizar en la dimensión de la base de datos

Además, debe profundizar en la base de datos de ventas porque es importante saber cuál es el comportamiento de las esperas específicamente dentro de la base de datos de mayor consumo. En este ejemplo, parece que la CPU (45,7 %) y los recursos de E/S (30,2 %) representaron la mayor parte de la carga de trabajo, y sus tasas se acercan a 0,48 s/s y 0,43 s/s.

Profundizar en la dimensión de la base de datos de ventas

Paralelamente, seleccionar CPU filtrará los otros recursos y producirá una lectura personalizada solo de CPU. La capacidad de aislar una carga de trabajo específica es útil porque filtra visualmente las métricas que distraen, lo que le permite concentrarse solo en lo que tiene prioridad. Además, los indicadores de rendimiento se pueden graficar uno encima del otro para que pueda ver las correlaciones visualmente.

Indicadores clave de rendimiento filtrados solo para estadísticas de CPU

A continuación, profundice en los lotes de T-SQL. Esto nos permite averiguar qué lotes dentro de la base de datos de ventas son los más exigentes.

Profundizar en los lotes de T-SQL

Debido a que este lote hace un uso intensivo de la CPU, es importante saber qué consultas dentro de ese lote son las culpables del costo adicional. El uso del texto T-SQL junto con el plan de ejecución muestra que el operador Ordenar tiene la culpa. SQL Optimizer pronostica que el cargo estimado es del 97 por ciento. Agregar un índice puede ayudar a optimizar el rendimiento.

Declaraciones T-SQL

Plan de Ejecución y Análisis de Costos de las Operaciones Realizadas

Tenga en cuenta que el selector de recursos se puede configurar para resaltar un recurso una vez que su utilización supera un umbral predefinido. Por ejemplo, puede configurar el selector para resaltar los recursos de E/S si la espera es superior al 30 por ciento.

Ajuste de las configuraciones del selector de recursos para recursos de E/S

Configuraciones actualizadas para el selector de recursos de E/S aplicado