SQL Server – Performance Monitor

Nota: Este artigo é de nível iniciante e servira como referência a um artigo sobre a elaboração de um baseline que estou preparando para a segunda quinzena de março; Caso você seja um DBA/Dev com um pouco mais de experiência talvez ache este um artigo deveras simples; Essa é a intenção. 😉

 

Fala Galera,

Hoje vou falar um pouco sobre um velho companheiro de todos que, assim como eu, são entusiastas das tecnologias Microsoft e precisam descobrir algumas informações sobre o que anda rolando por debaixo do capô do Windows.

O performance monitor, ou perfmon para os íntimos, é um excelente ponto de partida para coletar informações do seu parque de máquinas. É uma ferramenta que, obviamente, tem suas limitações; mas que dá conta do recado se você souber o que procurar e como correlacionar os dados corretas.

Como encontra-lo?

Executar o perfmon é simples. Basta procurar pelo “perfmon.exe” ou acessário pelo menu Windows>Administrative Tools> Performance Monitor

Sem título

Imagem 1

 

Assim que o perfmon é aberto uma série de informações são apresentadas. A princípio o que realmente importa é que você pode ter dois tipos de visão: Tempo real (A) e coletores que vão armazenar os dados (B) por tempo indefinido, tendo como base um intervalo de tempo pré-configurado de snapshots.

Sem título

Imagem 2

Em nossa imagem acima, temos uma listagem dos coletores configurados na máquina; Um está ativo e outro parado.

Performance Couters

As coletas realizadas pelo perfmon são baseadas em contadores. Estes contadores são separados por grupos () e cada grupo tem informações de uma área de conhecimento específica.

Em geral existem dois “modos” de coleta de cada snapshot (A.K.A: momento que os dados são coletados)

  1. Acumulativos: O valor do snapshot sempre é acumulativo, para se ter uma visão melhor será necessário calcular o delta.  ex: Buffer Manager – Lazy Writer/sec
  2. Média: O valor do snapshot é uma média do valor dentro do tempo.
    ex: Physical Disk – Avg Disk Sec/ Read

Por exemplo, se quisermos obter dados sobre o gerenciador de memória do SQL Server. Basta entrar no perfmon, adicionar um novo contador, procurar pelo grupo “Memory Manager” e adicionar o contador que você quer consultar

Sem título

Imagem 3

Pode acontecer dos contadores não estarem sendo listados. Existem vários motivos para isso: Regedit – Rebuild nos perfcounters etc…

 

Criar uma coleta personalizada

Você precisa coletar as informações de memória de CPU de um servidor X por que amanhã será realizado um teste de performance, que sensibilizará seu SQL Server, e é desejo do time de arquitetura saber se a capacidade está sub-dimensionada ou não.
Criaremos um coletor que será executado a cada 1 minuto, gravará os dados em BLG em C:\Perflogs\

  1. Abra o perfmon
  2. Acesse o menu de coletas definidas pelo usuário e adicione uma nova coleta.Sem título
  3. Adicione o nome e selecione a opção de criação manual
  4. Crie logs baseados em contadores de desempenho (performance counters)Sem título
  5. Configure o intervalo de coleta desejado
  6. clique em adicionar para que possamos cadastrar os contadores a serem coletados.
    Na nova janela, você notará algumas listagens

    • Rosa: Computador que será alvo das coletas. O perfmon permite que as coletas sejam feitas de maneira remota; basta ter as permissões necessárias;
    • Azul: Performance Counters. Como queremos procurar sobre CPU e Memória, temos que achar o grupo de contadores que agrupe estas informações. Na imagem abaixo estamos coletando a % de uso de CPU do Core 1 da minha máquina.
    • Preto: São as instâncias passiveis de se obter informações de um dado contador. Esta listagem nem sempre é mostrada, depende de qual contador você deseja coletar.
    • Verde: Lista de contadores que fazem parte do seu Coletor de dados. Na imagem nós só adicionamos um: Coleta de CPU
  7. Sem título.png
  8. Após selecionar todos os contadores desejados; de um OK. Avance. Defina um diretório de output.
  9. Seu contador será listado na janela da direita da listagem de contadores do usuário. Agora precisamos inicia-lo.Sem título
  10. Feito isso um “play” verde será apresentado ao lado do nome do contador.
  11. Basta entrar nas opções do contador, se você desejar alterar algumas das suas propriedades, tais como:
    • Formato do output (CSV, Separado por virgula,  separado por tab, BLOB)
    • Diretório do Output
    • Condição de parada

Sem título

12. Confira se o arquivo foi criado no diretório de destino e pronto.

Sem título

 

Tenha em mente que o perfmon possui uma gama gigante de contadores e cabe ao profissional que irá fazer realizar o troubleshooting, análise de performance ou construção de um baseline, saber quais os contadores são os mais relevantes para que as correlações corretas possam ser realizadas.
Existe um guia dos valores indicados para cada contados. Alguns do SQL Server podem ser encontrados aqui. Lembrando que eles são guidelines, e não regras.
O perfmon, além de ser um excelente ferramenta para uma análise mais detalhada do seu servidor, ainda permite correlacionar informações obtidas pelo quase falecido, mas ainda muito usado, SQL Profiler; (assunto para outro post  :v)

 

Abraços.

Piroto

 

Anúncios

Sobre dhiegopiroto
Graduando em Sistemas de Informação, apaixonado por tecnologia, literatura e musica. Possui experiencia com desenvolvimento em T-SQL, XML, XSD e administração de bancos de dados SQL Server; Detém os titulos de MCP e MCTS SQL Server 2008.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Alex Souza

"Aprendendor a Aprender e Aprendendo a Ensinar (inclusive Máquinas)!"

Blog - Thiago Carlos de Alencar

Aprendendo SQL Server !

SQL Authority with Pinal Dave

SQL Server Performance Tuning Expert

Vitor Fava

SELECT (CrazyIdeas*2), (InsaneIdeas*100), MyExperience FROM MyBigHead WHERE InsaneLevel > 1000

Think Think SQL

DBCC DumpMemory 'TECH','ALL'

Gustavo Maia Aguiar

Artigos, dicas e algumas reflexões sobre o SQL Server

Kimberly L. Tripp

DBCC DumpMemory 'TECH','ALL'

Thiago Zavaschi R2

www.zavaschi.com

Blog do Luti

DBCC DumpMemory 'TECH','ALL'

Luan.Moreno a.k.a [SQL.Soul]

Lead Database Consultant at Pythian

Blog do Leka

let's make things better

%d blogueiros gostam disto: