Por que eu devo ler este artigo:Trataremos nesse artigo da análise conjunta dos dados coletados nas ferramentas Performance Monitor e SQL Profiler.

Com a análise de dados provenientes tanto do Perfmon como do SQL Profiler, é possível encontrar gargalos de performance e identificar com mais exatidão pontos em que o desempenho da aplicação é afetado ou que o consumo de recursos aumenta consideravelmente.

O conhecimento dessas ferramentas é extremamente útil, pois através delas podemos traçar perfis de utilização da aplicação e de comportamento do ambiente e também agir de maneira preventiva, visando evitar problemas.

A performance é um assunto muito comentado, pois é importante um sistema de alto desempenho no mundo coorporativo atual. Como boa prática para se obtiver uma melhor performance temos a utilização de alguns métodos de coleta de dados, que permitem analisar diversos pontos do nosso ambiente, desde os dados de máquina (com os contadores do Perfmon), bem como informações de consultas executadas em nossos servidores de banco de dados através do SQL Profiler.

Essas informações já são muito importantes quando analisadas separadamente; porém, tendo a oportunidade de relacioná-las teremos uma visão muito mais completa e precisa do que ocorre em nossos ambientes e com nossos bancos de dados.

Mas como relacionar essas informações manualmente, criando cenários de análise com os nossos dados já coletados? A resposta é simples, com o próprio SQL Profiler.

O SQL Profiler, que é a aplicação que utilizamos para coletar os traces no servidor de banco de dados SQL Server, possui uma funcionalidade interessantíssima que nos permite importar um arquivo coletado do Perfmon e visualizar de maneira conjunta o que estava executando e qual era o consumo de recursos em determinado momento do dia.

Por exemplo, podemos identificar em um pico de CPU quais consultas executavam naquele instante. Para essa análise, relembraremos como criar um trace e como realizar uma coleta de dados do Perfmon.

Depois disso, relacionaremos essas informações no SQL Profiler e teremos visões muito claras de pontos que podem ser considerados de contenção ou de alto consumo em nosso ambiente.

Relembrando traces

Sempre que um comando é executado no nosso servidor de banco de dados, uma informação é registrada e pode ser acessada futuramente. Esses vestígios podem ser acessados através de views de estatística do próprio SQL Server ou então através de uma coleta do SQL Profiler, que agrupa em arquivos de trace qualquer ação que é demandada aos nossos servidores de banco de dados.

O que são traces?

Traces são os arquivos de coleta gerados pelo SQL Profiler, que agrupam as ações executadas por nosso servidor. Essas ações podem ser provenientes tanto de aplicações como de rotinas batch, e até mesmo rotinas internas de manutenção e funcionamento do SGBD.

Sempre que uma ação é executada no SQL Server (login, a execução de um procedimento, ou uma instrução Transact-SQL) a mesma é registrada e se torna rastreável. Dessa maneira, é possível saber quem a executou, de onde partiu, quantas e quais leituras foram feitas e qual o tempo total e de processamento de qualquer instrução executada pelo SGBD. Com informações como essas podemos avaliar qual query está prejudicando a performance do nosso ambiente.

...
Quer ler esse conteúdo completo? Tenha acesso completo