O Objetivo desse artigo é auxiliar o analista e criar coletores do Performance Monitor para auxiliar na coleta de informações de desempenho e uso de recursos pelas aplicações e também do seu servidor.
O que pode ser avaliado com esses contadores:
- Consumo excessivo de processamento
- Consumo excessivo de disco
- Vazamento de memórias (Memory Leak)
Responda a perguntas como:
Você consegue diagnosticar se sua aplicação está usando recursos dos servidores corretamente?
A forma de escrita em disco, alocação de memória, consumo de processador está dentro dos padrões de mercado ou o cliente/usuário necessita de uma estrutura “parruda” e consequentemente cara para hospedar sua aplicação?
Sua aplicação está preparada para trabalhar em ambientes compartilhados e publicos com limitações geográficas e de equipamentos?
Veja aqui a parte 01: ALM e Operações – Analisando o Desempenho do Servidor
Parte 02/03: Analisando Processos
- Ativando Análise de Processos
Ao adicionar os contadores de Processos, selecione o contador depois o processo específico, você pode escolher alguns específicos, muito usados para identificar possíveis incidentes ou consumo de recursos, como por exemplo:
Handles (Identificadores): São ponteiros abertos pelas aplicações para comunicação com o sistema operacional solicitando a alocação de recursos. Normalmente se estiver acima de 10.000 possivelmente há vazamento de identificadores. Que podem estar associados a um BUG da aplicação ou um BUG dos componentes Runtime usados como .NET, JAVA, C++, etc.
Private Bytes (Bytes Privados): Ajuda a identificar o consumo de memória do processo. Se houver um consumo anormal e com aumento gradativo sem gerenciamento, pode-se estar associado a vazamento de memória da aplicação (memory leak).
Thread Count (Contagem de Threads): Mede o número total de threads ativos em um processo no momento. Pode haver um vazamento de threads se esse número for superior a 500, entre os números mínimo e máximo de threads.
Importante: Além dos coletores de Handles, Threads e Memória, também pode-se analisar uso de recursos como disco, processamento, entre outros, conforme abaixo.
Local de armazenamento dos logs.
Definição da conta a ser usada para a execução da coleta dos contadores.
Depois clique em Iniciar (Start) para começar a coleta dos dados.
Obs.: Por questões de segurança, você pode setar algumas condições para o coletor para e evitar consumo excessivo de recursos do servidor, como por exemplo espaço em disco. Para isso pare o coletor, clique com o botão direito, vá em propriedades e procure a aba “Stop Condition”. Defina os valores para que ele pare automaticamente. Por exemplo, Maximum Size, em megabytes.
Você também pode criar uma agenda dos horários de execução, para coletar nos momentos mais críticos.
- Gerando Relatórios (Análise dos Contadores)
Depois de concluindo a captura (caso seje ativado na mão, pare a mesma). Vá em Relatórios e visualize os dados coletados.
Observe os contadores nos relatórios, primeiramente eles aparentam um constante no uso dos recursos. Normalmente varia para cima e para baixo, conforme o uso ao dia.
Os indicadores Average (Média) estão abaixos dos usados nesse intervalo. Cuidado ao observar os contadores, pois calcular a escala. Por exemplo:
A média é de 639,636, em escala de 0,1 equivale a 639 Handles.
Observe que depois, o Last (Ultimo) é menor que o Maximum (Máximo), ou seja, um comportamento saudável, pois o processo liberou o uso dos ponteiros.
Caso algum ponteiro esteja fora do esperado, você poderá ativar alertas para te comunicar em tempo real os incidentes e também executar um DEBUG ou ativação de TRACE mais apurado da própria aplicação para identificar o que está ocorrendo, usando por exemplo, o System Center Operation Manager.
Você também pode acompanhar o processo em tempo real, em conjunto com a aplicação Process Explorer para realizar identificações adicionais como por exemplo:
- Monitorar trafego de dados do processo com o banco de dados
- Locais de acesso
- Componentes alocados
Referências:
Ask The Core Team Blog - Windows Performance Monitor Disk Counters Explained
2 comentários
Muito bom, só faltou as alternativas, caso existam, para outras versões de Windows
Olá, obrigado. Sim existe, o Perfmon está disponível para o Windows 2003, XP, Vista, 2008, 7 e 8, é só digitar perfmon no executar do Windows que irá abrir a tela que demonstrei no artigo.