Olá a todos. Nesta quinta e última serie de posts relacionados a performance, falarei um pouco sobre algumas ferramentas e analises a serem feitas para diagnosticar problemas a nível de sistema operacional.

Creio que todo o DBA já deva ter passado por uma situação parecida com essa: O ambiente de produção está incrivelmente lento, ninguém consegue fazer nenhuma operação, por mais simples que seja no servidor… logo os usuários e a gerência põem a culpe, sem nenhuma analise ou algo parecido, no banco de dados e por consequência nos DBAs. Depois de uma analise rápida em conjunto do os administradores de sistema, descobre-se que alguém estava compactanco um arquivo de 100GBs, consuminto todo o poder de processamento do servidor. Eu já passei por isso, e garanto que boa parte dos DBAs também já.

Todas as ferramentas listadas abaixo foram testadas nas distros derivadas no Red Hat, como Oracle Linux e CentOS. Mencionarei também algumas ferramentas de analise para ambientes Solaris.

 

   1) COMANDOS ÚTEIS

   1.1) ANALISANDO CONSUMO DE CPU

Dentre as ferramentas mais comuns de mensuração de uso de CPU, estão:

  • top
  • vmstat
  • htop
  • prstat (Solaris)

A minha favorita para realizar analises iniciais é o “top” por já sr um padrão em todas as distros derivadas do Red Hat. Também já tive a oportunidade, e fortemente recomendo, a instalação da ferramenta htop, que mostra de uma maneira bem mais amigável o consumo de CPU, detalhando os principais processos consumidores. Exemplos de uso do top:

Também pode ser útil usar a ferramenta mpstat (requer o pacote sysstat). Ela pode mostrar o consumo geral por processador. Exemplos:

Por fim, a nível de Linux, pode-se usar o “pidstat” para obter detalhes de consumo de CPU, por processo

A nível de Solaris, pode-se usar a ferramenta prstat, que equivale ao top do Linux. Exemplos

1.2) ANALISANDO PROCESSOS CONSUMIDORES

Para analisar o consumo dos processos, pode-se usar a ferramenta “ps”, bem como o “top”, acima mencionado. Ex:

Em se tratando de Solaris, é possível usar o prstat com a opção -a. Ex:

1.3) ANALISANDO O CONSUMO DE MEMÓRIA

Para analisar o consumo de memória do ambiente, podemos usar as ferramentas “vmstat” (tanto para Linux quanto para Solaris) e o “free” (Linux). Ex:

1.4) ANALISANDO O CONSUMO DE I/O

Podemos usar as ferramentas “sar” e “iostat” (ambas existem para Linux e Solaris) para monitorar a atividade de I/O no ambiente. Ex:

OBS1: tps indica o número de transferencias por segundo de um dispositivo físico, onde uma transferencia é uma requisição de I/O a um dispositivo físico

OBS2: rtps e wtps indicam o número de requisições lidas (r) e escritas(w) em um dispositivo físico

1.5) ANALISANDO O CONSUMO DE REDE

Para analisar o tráfego de rede, podemos usar o “nestat”. Ex:

É isso ai pessoal, com esse post eu encerro a série relacionada a Performance Tuning. Espero que os leitores tenham gostado do que foi exposto e como foi exposto. Quaisquer críticas e sujestões são mais do que bem vindas.

Até a próxima série de posts.

Keep Tuning.