Série – Query Performance Insights no Azure SQL Database – Parte 3

Posted on julho 11, 2017

1


Nos últimos artigos falamos sobre o que é o QPI além de mostrar como podemos rastrear consultas e entrar nos detalhes das mesmas, agora nesse último artigo iremos ver um pouco mais do que podemos ter de visão e a facilidade de administrar, entender e gerenciar consultas e problemas no Azure SQL Database com o QPI – Query Performance Insights.


Na última parte escolhemos uma das consultas que foram capturadas pelo QPI para realizar uma análise mais profunda, nesse caso selecionamos pela quantidade de execução, como vemos a seguir.

qpi

(Figura 1 – QPI – Seleção Top 5 por Quantidade de Execução.)

qpi

(Figura 2 – QPI – Quantidade de DTU Utilizado pelas Consultas.)

Dividimos a análise da consulta em dois momentos, sendo o primeiro passo, descobrir quais consultas estão causando problemas de performance (Figura 1) e no segundo momento, dada aquela consulta, a quantidade de DTU – Database Transaction Unit que foi utilizada (Figura 2.). Lembrando que a unidade de medida de performance irá limitar a velocidade da consulta caso a mesma seje alcançada, nesse caso vemos claramente que o CPU alcançou 90% de utilização, quase batendo o limite do componente DTU.

Selecionando somente a consulta de ID = 428 vemos que a mesma é totalmente CPU-Intensive

qpi

(Figura 3 – Selecionando Consulta de ID = 428.)

qpi2

(Figura 4 – Analisando Performance da Consulta ID = 428 no QPI.)

Podemos entrar nos detalhes da consulta para analisarmos melhor o seu comportamento, quantidade de execuções e recursos utilizados pela mesma. Nesse momento teremos um novo painel de acesso, possibilitando algumas novas opções e interações.

qpi2

(Figura 5 – Detalhes de uma Consulta no QPI.)

Settings = Aqui você pode escolher o timeframe de visualização da consulta e o tipo de agregação para ter um maior insight da mesma durante um período específico de tempo.

qpi

Recommendations = Nas recomendações, você pode se beneficiar do recurso chamado – Performance Recommendations ou seja o Automatic Tuning do SQL Server 2017, disponível primeiramente no Azure SQL Database. Se for encontrado pelo algoritmo de IA algum índice ou recomendação para melhoria o mesmo irá aparecer nesse painel.

qpi2

Query Text = Além de visualizar a query, você pode alterar a mesma.

qpi2

Agora que temos visão total das opções para análise, podemos ainda ter visão da quantidade de execuções por um período e duração da consulta.

qpi

(Figura 6 – Quantidade de Execuções e Intervalo de Tempo no QPI.)

Com isso conseguimos ter uma visão totalmente detalhada das consultas geradas contra os bancos de dados dentro do Azure SQL Database, isso irá te possibilitar a ter acesso a período de tempo dentre outras opções para facilitar o processo de fine-tuning do seu banco de dados.