Quando estamos trabalhando com o SQL Server e gostaríamos de obter medidas de funcionamento e desempenho através de várias métricas específicas podemos contar com várias ferramentas. Uma delas é o Performance Monitor que é o assunto desta coluna.
Muitas vezes chamado de System Monitor ou de Windows NT Performance Monitor essa ferramenta permite que várias métricas sejam observadas através dos seus contadores. Essa ferramenta vem junto com o Windows e pode ser acessada no Windows 2000 através do painel de controle, ferramentas administrativos, ícone Desempenho. Como o Enterprise Manager do SQL Server o Performance Monitor também é um Snap-in do MMC.
Quando se instala o SQL Server alguns contadores próprios para o banco de dados são colocados no Performance Monitor permitindo que se observe o funcionamento do SQL Server remotamente ou não.
Existem vários contadores para o Performance Monitor e nesta coluna vou me focar mais no uso dos contadores específicos para o SQL Server. Logo que abrimos o Performance Monitor temos uma tela parecida com esta:
Os contadores que falei acima são representados através do frame mais a direta na forma de gráfico: cada contador que esteja no gráfico é mostrado como uma linha que varia a posição em relação a escala de acordo com a sua variação funcional. Vamos ver um exemplo: quero colocar um contador que me mostre qual é a porcentagem de uso do Transaction Log para um determinado banco de dados. Para isso devemos clicar no botão que parece um sinal de mais (+) na barra de ícones logo acima do espaço do gráfico. A seguinte tela será mostrada:
Percebam que eu escolhi o computador na qual o contador irá atuar (MAURO) , o tipo de contador (SQLServer:Databases) e qual contador daquele tipo (Percent Log Used). Logo após escolhi qual o banco de dados na qual este contador irá trabalhar (dbTeste).
Com estes dados preenchidos cliquei no botão Adicionar que coloca o contador definido no gráfico. Como estamos trabalhando com um contador de porcentagem a escala vertical vai de 0 a 100. A cor do contador pode variar e a taxa de atualização do contador pode ser configurada. Um detalhe é o botão Explicar que mostra uma pequena descrição sobre o contador.
Para demonstrar melhor o uso deste contador abri um Query Analyser e simulei o preenchimento do Transaction Log do dbTeste com o seguinte código:
DECLARE @X INT
SET @X = 1
WHILE @X < 100000
BEGIN
INSERT INTO CATEGORIA VALUES(@X+10,'TESTE',NULL)
END
Que deixei rodar durante aproximadamente 10 segundos. O gráfico gerado pelo contador:
Fazendo uma análise do que ocorreu pude perceber que o Transaction Log foi limpo (truncado) automaticamente pelo SQL Server algumas vezes conforme o Transaction Log ia sendo preenchido.
Existem vários contadores específicos para o SQL Server assim como para o próprio sistema operacional. Dependendo de cada situação um contador pode ser melhor que o outro e a escala pode ser modificada.
Algumas dicas para o uso do Performance Monitor:
* É encorajado que se 'brinque' com os contadores até achar o que mais represente o que ser quer medir. Uma vez descobertos os melhores contadores para cada situação tente estipular valores máximos e mínimos aceitáveis para o correto funcionamento do seu banco de dados.
* Após observar os contadores é sempre recomendada uma análise do comportamento dos valores gerados pelo mesmo para identificar problemas de desempenho, necessidade de mais recursos, indicação de comportamento anormal do banco de dados, etc
* O Performance Monitor permite que se observe mais de um contador ao mesmo tempo. Neste caso a escala é ajustada de acordo com os contadores observados que são mostrados em cores diferentes no gráfico. Na minha opinião deve-se ter muito cuidado para não se confundir quando se utiliza mais de um contador no mesmo gráfico
* Como qualquer outra ferramenta de monitoração, o Performance Monitor pode gerar uma pequena sobrecarga (overhead) no seu uso. Esta sobrecarga cresce bem mais quando se utiliza mais de um contador ao mesmo tempo e é proporcional à taxa de atualização dos contadores.
* Explore as opções do Performance Monitor. Existe como gerar um relatório, transformar o gráfico para histograma, realçar contadores, etc
* Além de servir como uma ferramenta de monitoração, o SQL Server pode aproveitar para definir alertas baseados em valores dos contadores. Por exemplo: estou achando o meu SQL Server está sendo atacado por Hackers que querem descobrir a senha do sa do meu SQL Server. Posso definir um alerta que envia um e-mail para o DBA quando o contador de tentativas de login por segundo atinge um valor, por exemplo, mais de 100 tentativas por segundo. Essa integração dos contadores com os alertas facilita muito a vida de qualquer DBA que trabalha com o SQL Server
* Há como definir contadores criados pelo usuário. Porém este tipo de funcionalidade requer um conhecimento maior do funcionamento interno do SQL Server
Para terminar a coluna gostaria de dizer que o Performance Monitor é uma excelente ferramenta disponibilizada de graça: vem junto com qualquer computador equipado com qualquer versão do Windows 2000. Vale a pena perder algum tempo estudando os contadores tanto do SQL Server como do Windows.
Grande abraço galera e até a próxima semana.
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.